file get contents高階用法

2021-09-06 18:21:42 字數 1046 閱讀 9087

首先解決file_get_contents的超時問題,在超時返回錯誤後就象js中的settimeout那樣進行一次嘗試,錯誤超過3次或者5次後就確認為無法連線伺服器而徹底放棄。

這裡就簡單介紹兩種解決方法:

一、增加超時的時間限制

注意:set_time_limit只是設定你的php程式的超時時間,而不是file_get_contents函式讀取url的超時時間。

我一開始以為set_time_limit也能影響到file_get_contents,後來經測試是無效的。真正的修改file_get_contents延時可以用resource $context的timeout引數:

php程式碼

二、多次嘗試

php程式碼

以上方法對付超時已經ok了。接下來演示一下用file_get_contents實現post,如下:

php程式碼

function post($url, $post = null)

return file_get_contents($url, false, stream_context_create($context));

}$data = array (

'name' => 'test',

'email' => '[email protected]',

'submit' => 'submit',

);echo post('', $data);

注意檔案頭的set_time_out否則整個檔案都得超時了

file get contents高階用法

首先解決file get contents的超時問題,在超時返回錯誤後就象js中的settimeout那樣進行一次嘗試,錯誤超過3次或者5次後就確認為無法連線伺服器而徹底放棄。這裡就簡單介紹兩種解決方法 一 增加超時的時間限制 注意 set time limit只是設定你的php程式的超時時間,而不...

file get contents請求失敗處理

注釋掉除用於處理解密的filter 此filter無法注釋掉,因為客戶端正常請求必須要經過此filter處理,否則將出現無法訪問的閘道器內部異常錯誤 之外的所有自定義filter,目的是排除法查詢是否由於某乙個filter寫法存在問題所導致。結論 仍出現400,定位問題失敗!回顧問題描述,因為不是每...

關於file get contents抓取頁面超時

前幾日寫了乙個定位測距的功能,一直用的都是file get contents 這個函式抓取定位後頁面的資訊,只有有一天,這個函式一直無法執行,由於超時,導致功能無法實現,改進方法一 由於file get contents 函式失敗,就會返回false,由此來判斷,並進行迴圈。json1 json d...