中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

file_get_contents返回為空或函數不可用的解決方案

發布時間:2021-07-23 13:56:55 來源:億速云 閱讀:662 作者:chen 欄目:開發技術

本篇內容介紹了“file_get_contents返回為空或函數不可用的解決方案”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

如果你使用file_get_contents獲取遠程文件內容返回為空或提示該函數不可用,也許本文能幫到你!
使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設置allow_url_fopen = On,allow_url_fopen關閉時fopen和file_get_contents都不能打開遠程文件。如果你使用的是虛擬主機可以考慮用curl函數來代替。
curl函數的使用示例:

復制代碼 代碼如下:


$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, ‘https://www.jb51.net');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);


利用function_exists函數來判斷php是否支持file_get_contents,否則用curl函數來代替。
PS
1、如果你的主機服務商把curl也關閉了,那你還是換個主機商吧!
2、allow_url_fopen設為off,并不代表你的主機不支持file_get_content函數。只是不能打開遠程文件而已。function_exists(‘file_get_contents')返回的是true。所以網上流傳的《file_get_contents函數不可用的解決方法》還是不能解決問題。
錯誤代碼:

復制代碼 代碼如下:


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);
}


應改為:

復制代碼 代碼如下:


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);
}


最終代碼:

復制代碼 代碼如下:


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(‘https://www.jb51.net');

“file_get_contents返回為空或函數不可用的解決方案”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定襄县| 府谷县| 清涧县| 永兴县| 福贡县| 万安县| 新龙县| 陈巴尔虎旗| 广宁县| 遂宁市| 宽甸| 兴国县| 崇左市| 兴海县| 满城县| 当涂县| 扎兰屯市| 蚌埠市| 隆尧县| 平遥县| 南宫市| 聂拉木县| 峨眉山市| 铜鼓县| 土默特右旗| 军事| 武宣县| 池州市| 安西县| 临武县| 霞浦县| 青海省| 丹阳市| 甘洛县| 页游| 合江县| 河间市| 磐石市| 芜湖市| 潜江市| 天全县|