程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 深入file_get_contents與curl函數的詳解

深入file_get_contents與curl函數的詳解

編輯:關於PHP編程

    有些主機服務商把php的allow_url_fopen選項是關閉了,就是沒法直接使用file_get_contents來獲取遠程web頁面的內容。那就是可以使用另外一個函數curl。
    下面是file_get_contents和curl兩個函數同樣功能的不同寫法
    file_get_contents函數的使用示例:

    復制代碼 代碼如下:
    < ?php
    $file_contents = file_get_contents('http://www.jb51.net');
    echo $file_contents;
    ?>


    換成curl函數的使用示例:

    復制代碼 代碼如下:
    < ?php
    $ch = curl_init();
    $timeout = 5;
    curl_setopt ($ch, CURLOPT_URL, 'http://www.jb51.net');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
    echo $file_contents;
    ?>


    利用function_exists函數來判斷php是否支持一個函數可以輕松寫出下面函數

    復制代碼 代碼如下:
    < ?php
    function vita_get_url_content($url) {
    if(function_exists('file_get_contents')) {
    $file_contents = file_get_contents($url);
    } else {
    $ch = curl_init();
    $timeout = 5;
    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;
    }
    ?>


    其實上面的這個函數還有待商榷,如果你的主機服務商把file_get_contents和curl都關閉了,上面的函數就會出現錯誤。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved