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

PHP中file_get_contents高級用法實例

 更新時間:2014年09月24日 11:23:16   投稿:shichen2014  
這篇文章主要介紹了PHP中file_get_contents高級用法,包括了超時限制及實現(xiàn)POST等用法,需要的朋友可以參考下

本文實例講述了PHP中file_get_contents高級用法,分享給大家供大家參考。具體分析如下:

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

一、增加超時的時間限制

注意:set_time_limit只是設定你的PHP程式的超時時間,而不是file_get_contents函數(shù)讀取URL的超時時間。

我一開始以為set_time_limit也能影響到file_get_contents,后來經(jīng)測試是無效的。真正的修改file_get_contents延時可以用resource $context的timeout參數(shù):

PHP程序代碼如下:

$opts = array(
    'http'=>array(
      'method'=>"GET",
      'timeout'=>60,
    )
);

$context = stream_context_create($opts);

$html =file_get_contents('http://www.dbjr.com.cn', false, $context);
fpassthru($fp);

二、多次嘗試

PHP程序代碼如下:

$cnt=0;
while($cnt < 3 && ($str=@file_get_contents('http...'))===FALSE){
   $cnt++;
}

以上方法對付超時已經(jīng)OK了。接下來演示一下用file_get_contents實現(xiàn)Post,如下:
PHP程序代碼

function Post($url, $post = null){
    $context = array();
    if (is_array($post)) {
      ksort($post);

      $context['http'] = array (
        'timeout'=>60,
        'method' => 'POST',
        'content' => http_build_query($post, '', '&'),
       );
    }

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

$data = array (
    'name' => 'test',
    'email' => 'test@gmail.com',
    'submit' => 'submit',
);

echo Post('http://www.dbjr.com.cn', $data);

注意文檔頭的Set_time_out否則整個文檔都得超時了。

希望本文所述對大家php程序設計的學習有所幫助。

相關文章

  • 淺談PHP命令執(zhí)行php文件需要注意的問題

    淺談PHP命令執(zhí)行php文件需要注意的問題

    下面小編就為大家?guī)硪黄獪\談PHP命令執(zhí)行php文件需要注意的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • php中字符查找函數(shù)strpos、strrchr與strpbrk用法

    php中字符查找函數(shù)strpos、strrchr與strpbrk用法

    這篇文章主要介紹了php中字符查找函數(shù)strpos、strrchr與strpbrk用法,以實例形式較為詳細的分析了php中字符查找函數(shù)strpos、strrchr與strpbrk的具體用法及相關注意事項,非常實用,需要的朋友可以參考下
    2014-11-11
  • PHP中foreach循環(huán)中使用引用要注意的地方

    PHP中foreach循環(huán)中使用引用要注意的地方

    發(fā)現(xiàn)了一個容易出錯,但是不懂得原理卻解釋不明白的問題,碰到類似問題的朋友可以參考下。
    2011-01-01
  • php簡單獲取目錄列表的方法

    php簡單獲取目錄列表的方法

    這篇文章主要介紹了php簡單獲取目錄列表的方法,涉及php操作目錄的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • PHP與SQL注入攻擊防范小技巧

    PHP與SQL注入攻擊防范小技巧

    SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點沒有使用嚴格的用戶輸入檢驗,那么常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實現(xiàn),很可能使數(shù)據(jù)庫中的紀錄遭到暴露,更改或被刪除。
    2011-09-09
  • PHP實現(xiàn)的62進制轉10進制,10進制轉62進制函數(shù)示例

    PHP實現(xiàn)的62進制轉10進制,10進制轉62進制函數(shù)示例

    這篇文章主要介紹了PHP實現(xiàn)的62進制轉10進制,10進制轉62進制函數(shù),結合具體實例形式分析了php針對62進制與10進制相互轉換的操作技巧,需要的朋友可以參考下
    2019-06-06
  • PHP項目多語言配置平臺實現(xiàn)過程解析

    PHP項目多語言配置平臺實現(xiàn)過程解析

    這篇文章主要介紹了PHP項目多語言配置平臺實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • PHP使用CURL實現(xiàn)多線程抓取網(wǎng)頁

    PHP使用CURL實現(xiàn)多線程抓取網(wǎng)頁

    PHP 利用 Curl 可以完成各種傳送文件操作,比如模擬瀏覽器發(fā)送GET,POST請求等等,然而因為php語言本身不支持多線程,所以開發(fā)爬蟲程序效率并不高,不過可以用 Curl ,借助Curl 這個功能實現(xiàn)并發(fā)多線程的訪問多個url地址以實現(xiàn)并發(fā)多線程抓取網(wǎng)頁或者下載文件
    2015-04-04
  • php圖形jpgraph操作實例分析

    php圖形jpgraph操作實例分析

    這篇文章主要介紹了php圖形jpgraph操作,結合具體實例形式分析了php基于jpgraph圖形庫實現(xiàn)圖形繪制的相關操作技巧,需要的朋友可以參考下
    2017-02-02
  • PHP字符串長度計算 - strlen()函數(shù)使用介紹

    PHP字符串長度計算 - strlen()函數(shù)使用介紹

    在PHP中,函數(shù)strlen()返回字符串的長度,strlen()函數(shù)返回字符串所占的字節(jié)長度,一個英文字母、數(shù)字、各種符號均占一個字節(jié),它們的長度均為1
    2013-10-10

最新評論