目录
使用帝国程序远程保存图片的功能是因为站长的一个导航站在使用一为大神根据URL地址获取网站的Favicon图标的功能,作者在github提供了getfavicon源码
源码地址:https://github.com/owen0o0/getFavicon
根据作者提供的方案部署到服务器上,发现有些问题,比如google、或者adobe这些网站需要科学上网才能获取网站ico图标,这样就不能正常获取图标缓存到服务器
但是如果使用作者提供的api接口,就可以正常使用
那么导航站就转用大神的api接口作为网站图标使用,但是由于网创邦导航站不是泛流量采集,导航网站精选都是手工编辑、那么如果作者api接口停用,网站图标就不复存在,那么原创保存这些网站图标就势在必行
但是经过测试如果api接口网站链接是https,远程保存上传图片,显示原创保存不成功或文件是已上传文件,但是7.5版本是不支持采集https图片的,需要增加ssl模块支持
那么如何解决,找到/e/class/connect.php
先在<?php下先添加
function getHTTPS($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
再找到function ReadFiletext函数
function ReadFiletext($filepath){
$filepath=trim($filepath);
$htmlfp=@fopen($filepath,"r");
//远程
if(strstr($filepath,"://"))
{
while($data=@fread($htmlfp,500000))
{
$string.=$data;
}
}
//本地
else
{
$string=@fread($htmlfp,@filesize($filepath));
}
@fclose($htmlfp);
return $string;
}
替换如下
//取得文件内容
function ReadFiletext($filepath){
$filepath=trim($filepath);
$htmlfp=@fopen($filepath,"r");
//远程
if(strstr($filepath,"https://")){
return getHTTPS($filepath);
}
if(strstr($filepath,"://"))
{
while($data=@fread($htmlfp,500000))
{
$string.=$data;
}
}
//本地
else
{
$string=@fread($htmlfp,@filesize($filepath));
}
@fclose($htmlfp);
return $string;
}
到这一步就能够原创保存图片了
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。