帝國(guó)CMS7.5遠(yuǎn)程保存圖片沒(méi)有后綴的圖片的解決方法
帝國(guó)CMS7.5版本遠(yuǎn)程保存圖片會(huì)存在一個(gè)問(wèn)題,就是傳上去的圖片沒(méi)有任何后綴,這個(gè)問(wèn)題相信很多人都遇到了,而且束手無(wú)策,今天我就來(lái)講下解決帝國(guó)CMS7.5遠(yuǎn)程保存圖片沒(méi)有后綴的解決方法。
帝國(guó)CMS7.0,在路徑 e/class/functions.PHP中修改e/class/functions.php大概第1455行和1456行,代碼如下:
$zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is";
$text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5\6".$exp2."\7>",$text);
修改成下面的樣子:
$zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)([^'|"|\\"|]*)('|"|\\"|)(.*?)>/is";
$text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5".$exp2."\6\7>",$text);
然后在修改 e/class/connect.php 的大概2862行
$r[filetype]=GetFiletype($url);
在這句話的后面加入如下代碼:
if ((strlen($r[filetype]) !==4 ) OR (strlen($r[filetype]) !==5 )) $r[filetype]=".jpg";
修改完后不影響原來(lái)正常的使用,也就是普通形式的圖片,和不帶擴(kuò)展名形式的圖片都能夠正確的遠(yuǎn)程保存下來(lái)。
帝國(guó)CMS7.2和7.5需要替換e/class/functions.php中的兩個(gè)位置,
第一個(gè)位置:
//替換圖片標(biāo)簽 function RepImg($text,$copyflash){ global $ECMS_config; $exp1=""; $exp2=""; //去掉圖片鏈接 if($ecms_config['sets']['saveurlimgclearurl']==1) { $zz2="/<(a|A) (.*?)(href|Href)=('|"|\\"|)(.+?)><(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)></(a|A)>/is"; $text=preg_replace($zz2,"<\6 \7\8=\9\10\11\12>",$text); } $zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is"; $text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5\6".$exp2."\7>",$text); return $text; }
第二個(gè)位置:
function DoTranUrl($url,$classid){
global $public_r,$class_r,$ecms_config,$efileftp_fr;
$classid=(int)$classid;
//處理地址
$url=trim($url);
$url=str_replace(" ","%20",$url);
$r[tran]=1;
//附件地址
$r[url]=$url;
//文件類型
$r[filetype]=GetFiletype($url);
if(CheckSaveTranFiletype($r[filetype]))
{
$r[tran]=0;
return $r;
}
//是否已上傳的文件
$havetr=CheckNotSaveUrl($url);
if($havetr)
{
$r[tran]=0;
return $r;
}
//是否地址
遠(yuǎn)程保存圖片的一個(gè)bug
新聞數(shù)據(jù),帶圖片,勾選中 遠(yuǎn)程保存圖片
如果圖片格式是以下這種形式的,則遠(yuǎn)程保存失敗
例如:http://pic.baidu.com/album/user/547/22/RE1SQBgHYw/index/670
解決辦法
7.0替換一個(gè)位置: e/class/functions.php中
修改e/class/functions.php大概第1455行和1456行
$zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is";
$text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5\6".$exp2."\7>",$text);
改為
$zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)([^'|"|\\"|]*)('|"|\\"|)(.*?)>/is";
$text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5".$exp2."\6\7>",$text);
修改e/class/connect.php大概2862行
$r[filetype]=GetFiletype($url);
后面再加一行
if ((strlen($r[filetype]) !==4 ) OR (strlen($r[filetype]) !==5 )) $r[filetype]=".jpg";
修改完后不影響原來(lái)正常的使用,也就是普通形式的圖片,和不帶擴(kuò)展名形式的圖片都能夠正確的遠(yuǎn)程保存下來(lái)
-----------------------------------------------------------------------------
7.2替換2個(gè)位置:
替換位置1: e/class/functions.php中
//替換圖片標(biāo)簽
function RepImg($text,$copyflash){
global $ecms_config;
$exp1="";
$exp2="";
//去掉圖片鏈接
if($ecms_config['sets']['saveurlimgclearurl']==1)
{
$zz2="/<(a|A) (.*?)(href|Href)=('|"|\\"|)(.+?)><(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)></(a|A)>/is";
$text=preg_replace($zz2,"<\6 \7\8=\9\10\11\12>",$text);
}
$zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is";
$text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5\6".$exp2."\7>",$text);
return $text;
}
替換位置2: 修改e/class/connect.php大概3119行,
//遠(yuǎn)程保存
function DoTranUrl($url,$classid){
global $public_r,$class_r,$ecms_config,$efileftp_fr;
$classid=(int)$classid;
//處理地址
$url=trim($url);
$url=str_replace(" ","%20",$url);
$r[tran]=1;
//附件地址
$r[url]=$url;
//文件類型
$r[filetype]=GetFiletype($url);
if(CheckSaveTranFiletype($r[filetype]))
{
$r[tran]=0;
return $r;
}
//是否已上傳的文件
$havetr=CheckNotSaveUrl($url);
if($havetr)
{
$r[tran]=0;
return $r;
}
//是否地址
OK!以上就是本文的完整解決辦法了,大家自行去測(cè)試吧!
本站其他內(nèi)容推薦
1、castor irony neonate fascitis decisive wolfram wonderment writing revolting monte
2、ommitted(omitted中文翻譯,omitted是什么意思,omitted發(fā)音、用法及例句)
3、saline中文翻譯,saline是什么意思,saline發(fā)音、用法及例句
4、kick of中文翻譯,kick of是什么意思,kick of發(fā)音、用法及例句
5、customsclearance(customs clearance中文翻譯,customs clearance是什么意思,customs clearance發(fā)音、用法及例句)
8、impalpable是什么意思,impalpable中文翻譯,impalpable怎么讀、發(fā)音、用法及例句
9、底盤的英文,英語(yǔ),chassis是什么意思,chassis中文翻譯,chassis怎么讀、發(fā)音、用法及例句
10、懶洋洋地躺著的英文,英語(yǔ),lollop是什么意思,lollop中文翻譯,lollop怎么讀、發(fā)音、用法及例句
11、sclerodermite是什么意思,sclerodermite中文翻譯,sclerodermite怎么讀、發(fā)音、用法及例句
版權(quán)聲明: 本站僅提供信息存儲(chǔ)空間服務(wù),旨在傳遞更多信息,不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任,不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如因作品內(nèi)容、版權(quán)和其它問(wèn)題需要同本網(wǎng)聯(lián)系的,請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。