帝国CMS7.5远程保存图片没有后缀的解决方法

通过seo圣人

帝国CMS7.5远程保存图片没有后缀的解决方法

帝国CMS7.5版本远程保存图片会存在一个问题,就是传上去的图片没有任何后缀,这个问题相信很多人都遇到了,而且束手无策,今天我就来讲下解决帝国CMS7.5远程保存图片没有后缀的解决方法。

帝国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";

修改完后不影响原来正常的使用,也就是普通形式的图片,和不带扩展名形式的图片都能够正确的远程保存下来。

帝国CMS7.2和7.5需要替换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;
}

第二个位置:

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;
        }
        //是否地址

关于作者

seo圣人 administrator

啥都不想说,啥都不想干,喜欢写代码,泡妞,找妹子聊天。致力于研究先进的造人技术理论(目前没机会实战,欢迎异性加入合作)!!!非诚勿扰!!!

要发表评论,您必须先登录