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

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

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

  远程保存图片的一个bug

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

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

  例如:http://pic.baidu.com/album/user/547/22/RE1SQBgHYw/index/670

解决办法
7.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";
修改完后不影响原来正常的使用,也就是普通形式的图片,和不带扩展名形式的图片都能够正确的远程保存下来
-----------------------------------------------------------------------------
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!以上就是本文的完整解决办法了,大家自行去测试吧!


免责声明:

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:

二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

注:本站《整站源码》《Discuz插件》栏目中所有资源均来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系邮箱:852414410@qq.com 我们将配合处理!

-----------------------------------------------------------------------------------------------------------

版权声明:

一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------


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

发表评论

您需要后才能发表评论

专注帝国CMS模板开发、建站、一站式服务平台

查看演示 联系站长