php get為空會報錯,關於file get

2021-10-25 22:34:51 字數 2108 閱讀 1572

如果你使用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, 『');

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函式來代替。

ps1、如果你的主機服務商把curl也關閉了,那你還是換個主機商吧!

2、allow_url_fopen設為off,並不代表你的主機不支援file_get_content函式。只是不能開啟遠端檔案而已。function_exists(『file_get_contents')返回的是true。所以網上流傳的《file_get_contents函式不可用的解決方法》還是不能解決問題。

錯誤**:

if (function_exists(『file_get_contents')) 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(『');

關於list的為空的認識

關於每個list 的判斷和取值,以前有的地方認為他是有資料的,然後就沒有判斷是否為空,就沒有注意,但是會遇到個別情況取過來的 list 是空物件,造成 list 的方法是為空,list.size 是空的,會造成資料取的時候報錯,所以總結一下方法來判斷 list 是否為空 兩種解決辦法,每個都可以,看...

關於在vue裡使用腳手架空行 空格會報錯的問題

第一種方法 重新用腳手架安裝專案,在命令列裡選擇use eslint to lint your code?這項是輸入 n 第二種方法 找到build資料夾下的 webpack.base.config.js檔案 開啟注釋到下面一段 var path require path var utils req...

c 判斷指標為空 關於C中指標為空的判斷

在看c中指標是否為空的判斷說明時,出現了分歧。if ptr 如果 p 非空,則完成 if ptr 如果 p 為空,則完成 而我在林銳博士 c程式設計規範 一文中看到,為了和bool型別的判斷區分,他建議 判斷指標使用 if null ptr or if null ptr 這種方式。但是,按照 c 之...