首页 > 其他 > 网站日记>正文

帝国cms远程保存图片的优化--处理无协议图片地址

提示: 阅读权限:公开  

帝国cms的远程保存图片,不能紧跟时代。出现了两个问题。

一个问题是,远程图片地址不带扩展名,无法保存;另外一个问题是远程图片地址不带协议,无法保存。

第一个问题,我们前文已经解决。思路是对远程图片地址做一次head请求,根据返回的结果确地图片扩展名。

今天我们来解决第二个问题。比如有图片url地址为:

//img2.tgbus.com/i/792_446/cms3.0/2018/0727/20180727161953-1766-87609.jpg


这样的地址无法自动下载到本地,因为帝国判读这不是一个合格的url地址。但是,以前不是,现在是了。那怎么办?

帝国二开助手容易查到,关键的函数是:


帝国二开助手友情提醒:函数DoTranUrl位于文件/e/class/connect.php#//远程保存 中。
//远程保存
function DoTranUrl($url,$classid)

在这个函数里,查找

//处理地址
$url=trim($url);

在其后增加一条语句:

if(substr($url,0,2)=='//')$url='http:'.$url;

保存即可。


我的测试环境是帝国cms7.5+ utf8  ,这样修改后,顺利的远程保存了不带协议的图片。

上一篇:帝国sms结合项函数的优化

下一篇:php判断是手机端还是电脑端访问

tags: 帝国cms 图片 远程 帝国 地址 优化

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部