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

时间:2023年12月29日

/

来源:网络

/

编辑:佚名

帝国CMS远程保存图片没有后缀的图片的方法!(具体看文章说明)
很多的互联网朋友,经常会问到一些帝国CMS程序建站的问题,例如今天要讲的帝国CMS怎么远程保存图片没有后缀的图片呢?如何解决这个问题?那么今天帝国CMS模板网就来告诉大家帝国CMS远程保存图片没有后缀的图片的方法,下面就一起来看看吧:
远程保存图片的一个bug
新闻数据,带图片,勾选中 远程保存图片
如果图片格式是以下这种形式的,则远程保存失败
例如:
/tu/0731/wu1awnt0034.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!以上就是本文的完整解决办法了,大家自行去测试吧!
猜你需要

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

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