帝国CMS远程保存图片没有后缀的图片的方法!(具体看文章说明)

  很多的互联网朋友,经常会问到一些帝国CMS程序建站的问题,例如今天要讲的帝国CMS怎么远程保存图片没有后缀的图片呢?如何解决这个问题?那么今天帝国CMS模板网就来告诉大家帝国CMS远程保存图片没有后缀的图片的方法,下面就一起来看看吧:

  远程保存图片的一个bug

  新闻数据,带图片,勾选中 远程保存图片

  如果图片格式是以下这种形式的,则远程保存失败

  例如:/tu/0707/w343qlmlwth.com|/.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";修改完后不影响原来正常的使用,也就是普通形式的图片,和不带扩展名形式的图片都能够正确的远程保存下来-----------------------------------------------------------------------------7.2替换2个位置:替换位置1:  e/class/functions.php中//替换图片标签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行,//远程保存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!以上就是本文的完整解决办法了,大家自行去测试吧!


转载请注明: » 帝国CMS远程保存图片没有后缀的图片的方法!(具体看文章说明)