技术文摘

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

作者:雨祺   发表于:
浏览:157次    字数:1069  原创
级别: 站长   总稿: 69 篇,  月稿: 0

远程保存图片的一个bug 新闻数据,带图片,勾选中远程保存图片如果图片格式是以下这种形式的,则远程保存失败例如:http://pic.baidu.com/album/user/547/22/RE1SQBgHYw/index/670   
不啰嗦下面开始讲解解决方法。
替换位置1: e/class/functions.php中

  1. //替换图片标签 
  2. function RepImg($text,$copyflash){ 
  3.         global $ecms_config; 
  4.         $exp1=""
  5.         $exp2=""
  6.         //去掉图片链接 
  7.         if($ecms_config['sets']['saveurlimgclearurl']==1) 
  8.         { 
  9.                 $zz2="/<(a|A) (.*?)(href|Href)=('|"|\\"|)(.+?)><(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)></(a|A)>/is"
  10.                 $text=preg_replace($zz2,"<\6 \7\8=\9\10\11\12>",$text); 
  11.         } 
  12.         $zz1="/<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is"
  13.         $text=preg_replace($zz1,"<\1 \2\3=\4".$exp1."\5\6".$exp2."\7>",$text); 
  14.         return $text; 
替换位置2: 修改e/class/connect.php大概3119行,

  1. //远程保存 
  2. function DoTranUrl($url,$classid){ 
  3.         global $public_r,$class_r,$ecms_config,$efileftp_fr; 
  4.         $classid=(int)$classid; 
  5.         //处理地址 
  6.         $url=trim($url); 
  7.         $url=str_replace(" ","%20",$url); 
  8.     $r[tran]=1; 
  9.         //附件地址 
  10.         $r[url]=$url; 
  11.         //文件类型 
  12.         $r[filetype]=GetFiletype($url); 
  13.         if(CheckSaveTranFiletype($r[filetype])) 
  14.         { 
  15.                 $r[tran]=0; 
  16.                 return $r; 
  17.         } 
  18.         //是否已上传的文件 
  19.         $havetr=CheckNotSaveUrl($url); 
  20.         if($havetr) 
  21.         { 
  22.                 $r[tran]=0; 
  23.                 return $r; 
  24.         } 
  25.         //是否地址 

 

【审核人:站长】

收藏   加好友   生成海报   分享
点赞(0)
打赏
Tags: CMS 帝国CMS 帝国 图片

发布者资料

热门文章

技术文摘

查看更多技术文摘
首页
栏目
搜索
会员
投稿