帝国cms远程保存图片没有后缀的图片

时间:2024年03月06日

/

来源:网络

/

编辑:佚名

远程保存图片的一个bug
新闻数据,带图片,勾选中 远程保存图片
如果图片格式是以下这种形式的,则远程保存失败
例如:http://pic.baidu.com/album/user/547/22/RE1SQBgHYw/index/670
解决方法:
帝国CMS编辑器下方的“远程保存图片”勾选以后,如果复制过去的信息里的图片没有任何后缀,那么是保存不了图片到本地空间的,今天来说下解决方法。
(修改后不影响原始,也就是普通形式的图片,和不带扩展名形式的图片都能够正确的远程保存下来。)
以下修改适用于帝国7.2~7.5版本,其他版本未测试!修改文件请用编辑器修改,比如DW或者NOTEPAD之类编辑器,切勿用系统的TXT直接打开,会导致编码错乱!
1.修改文件:/e/class/functions.php
查找:
$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);
2.修改文件:/e/class/connect.php
找到:
$r[filetype]=GetFiletype($url);
在这句话的后面加入如下代码:
if ((strlen($r[filetype]) !==4 ) OR (strlen($r[filetype]) !==5 ))
    {
        $r[filetype]=".jpg";
    }
这样就可以了!
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。