Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

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

 [只看主题]
楼主
0 |
发表: 3 年前
| |
| |
跳转

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

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

  远程保存图片的一个bug

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

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

  例如:https://www.ecmsphp.com/d/file/202104/wauw144h3ks|.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!以上就是本文的完整解决办法了,大家自行去测试吧!


ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

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