帝國cms遠(yuǎn)程圖片本地化是一個非常重要的功能,即使不用采集日常更新也經(jīng)常用得著,我們有時候會發(fā)現(xiàn)這個功能不生效,常見有哪些不生效的原因呢
帝國cms遠(yuǎn)程圖片本地化不生效原因
1、圖片格式和大小設(shè)置問題
帝國默認(rèn)的圖片格式不包括png,但是我們現(xiàn)在qq截圖等都是png圖片格式,加進去即可,假如源站的圖片格式帝國后臺沒有,那肯定保存不了了。
系統(tǒng)參數(shù)設(shè)置——文件設(shè)置——文件擴展名
同時設(shè)置可以上傳圖片大小。
2、服務(wù)器配置問題
需要在php.in中把allow_url_fopen設(shè)置為on
3、入庫超時502問題
這個在圖片數(shù)量特別多的時候可能出現(xiàn),把php執(zhí)行時間設(shè)置長一點,一般默認(rèn)60s,改成幾分鐘即可
4、源站圖片鏈接是https
這個是現(xiàn)在遇到比較多的一個問題,目前7.5版本是不支持采集https圖片的,需要增加ssl模塊支持
打開文件/e/class/connect.php:
第一步:在connect.php文件最上面,下面添加以下函數(shù):
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,找到以下函數(shù):
function ReadFiletext($filepath){
$filepath=trim($filepath);
$htmlfp=@fopen($filepath,"r");
//遠(yuǎn)程
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");
//遠(yuǎn)程
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;
}
以上就是常見的帝國cms遠(yuǎn)程圖片保存失敗的原因。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國cms遠(yuǎn)程圖片本地化不生效原因以及解決方法