帝国论坛帝国网站管理系统交流区帝国CMS使用交流帝国CMS远程保存图片没有后缀的图片 【本版专题贴子】  
主题:帝国CMS远程保存图片没有后缀的图片 [加入收藏夹]   

37458448
用户头衔:进士

精华贴   :0
发贴数   :544
经验值   :2443
注册时间:2013-07-01
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
帝国CMS远程保存图片没有后缀的图片
远程保存图片没有后缀的图片

远程保存图片的一个bug
新闻数据,带图片,勾选中 远程保存图片

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

http://poro.pro/album/user/547/22/RE1SQBgHYw/index/670

5

解决办法

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";

修改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="[--copyimg--]";
$exp2="[/--copyimg--]";
//去掉图片链接
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;
}
//替换图片标签
function RepImg($text,$copyflash){
global $ecms_config;
$exp1="[--copyimg--]";
$exp2="[/--copyimg--]";
//去掉图片链接
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;
}
//是否地址

//远程保存
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;
}
//是否地址


转载POROPRO博客 详细教程上这里清晰一点 http://poro.pro/diguocms-hqtp.html

[该贴被修改 1 次,最后修改时间 2016-07-28 14:08:44 ]



2016-07-28 14:08:05 已设置保密 顶部 回复 引用 报告 编辑 删除

500919
用户头衔:探花

精华贴   :0
发贴数   :11670
经验值   :31217
注册时间:2009-03-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持一下




2016-07-29 07:31:37 已设置保密 顶部 回复 引用 报告 编辑 删除

adm286
用户头衔:举人 *

精华贴   :0
发贴数   :387
经验值   :1650
注册时间:2013-06-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

有7.5的方法吗




2018-10-30 13:54:05 已设置保密 顶部 回复 引用 报告 编辑 删除

095hjg
用户头衔:进士

精华贴   :0
发贴数   :1537
经验值   :5907
注册时间:2009-10-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

7.5不能使用



网站建设/seo/推广/域名/服务器/400电话/企业邮箱/网站服务器托管 Q214973377
2019-08-14 09:24:34 已设置保密 顶部 回复 引用 报告 编辑 删除

明天你好
用户头衔:探花

精华贴   :0
发贴数   :2310
经验值   :6574
注册时间:2012-11-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

代码好长




2019-08-14 09:35:40 已设置保密 顶部 回复 引用 报告 编辑 删除

xueshan777
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :60
注册时间:2012-03-20
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

有7.5的方法吗




2019-12-30 14:43:45 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1