欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于file_get_contents返回為空或函數(shù)不可用的解決方案

 更新時(shí)間:2013年06月24日 10:27:38   作者:  
本篇文章是對(duì)file_get_contents返回為空或函數(shù)不可用的解決方案進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
如果你使用file_get_contents獲取遠(yuǎn)程文件內(nèi)容返回為空或提示該函數(shù)不可用,也許本文能幫到你!
使用file_get_contents和fopen必須空間開(kāi)啟allow_url_fopen。方法:編輯php.ini,設(shè)置allow_url_fopen = On,allow_url_fopen關(guān)閉時(shí)fopen和file_get_contents都不能打開(kāi)遠(yuǎn)程文件。如果你使用的是虛擬主機(jī)可以考慮用curl函數(shù)來(lái)代替。
curl函數(shù)的使用示例:
復(fù)制代碼 代碼如下:

$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, ‘http://www.dbjr.com.cn');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);

利用function_exists函數(shù)來(lái)判斷php是否支持file_get_contents,否則用curl函數(shù)來(lái)代替。
PS
1、如果你的主機(jī)服務(wù)商把curl也關(guān)閉了,那你還是換個(gè)主機(jī)商吧!
2、allow_url_fopen設(shè)為off,并不代表你的主機(jī)不支持file_get_content函數(shù)。只是不能打開(kāi)遠(yuǎn)程文件而已。function_exists(‘file_get_contents')返回的是true。所以網(wǎng)上流傳的《file_get_contents函數(shù)不可用的解決方法》還是不能解決問(wèn)題。
錯(cuò)誤代碼:
復(fù)制代碼 代碼如下:

if (function_exists(‘file_get_contents')) {
$file_contents = @file_get_contents($url);
}else{
$ch = curl_init();
$timeout = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}

應(yīng)改為:
復(fù)制代碼 代碼如下:

if (function_exists(‘file_get_contents')) {//判斷是否支持file_get_contents
$file_contents = @file_get_contents($url);
}
if ($file_contents == ”) {//判斷$file_contents是否為空
$ch = curl_init();
$timeout = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}

最終代碼:
復(fù)制代碼 代碼如下:

function file_get_content($url) {
if (function_exists(‘file_get_contents')) {
$file_contents = @file_get_contents($url);
}
if ($file_contents == ”) {
$ch = curl_init();
$timeout = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}
return $file_contents;
}

用法:
echo file_get_content(‘http://www.dbjr.com.cn');

相關(guān)文章

最新評(píng)論