2014-07-03 52 views
0
$url = 'http://example.com'; 
$site = curl_init($url); 
curl_setopt($site, CURLOPT_RETURNTRANSFER, true); 
$site = curl_exec($site); 

if(FALSE){//DO SOMETHING} 

我嘗試使用捲曲刮頁,但我需要檢測如果url是失敗。捲曲刮頁如果失敗

  1. 問題,哪個會更好?

    curl or file_get_contents($ url)?

+0

開始從[這裏](HTTP: //www.php.net/manual/en/function.curl-getinfo.php) – hindmost

回答

1

也許它更容易做到這一點,沒有file_get_contents

$siteContent = file_get_contents("http://example.com"); 

if($siteContent) { 
    // do something 
} 

如果您需要更多選項或帖子,那麼您必須使用捲曲。爲此,您必須在您的php.ini中將選項allow_url_fopen設置爲On

+0

我已經試過文件獲取內容,但我想嘗試不同的方法,並不確定哪個更好,什麼不同 – user2178521

+0

它更短。你不能設置這麼多選項。 – Stony

+0

cURL調用在您要發佈帖子請求時更有用,或者擁有像Stony這樣的更多選項 – JammyDodger231

1

你可以使用HTTP狀態代碼,以檢查它是否是一個有效的響應:

$url = 'http://example.com'; 
$siteCurl = curl_init($url); 
curl_setopt($siteCurl , CURLOPT_RETURNTRANSFER, true); 
$site = curl_exec($siteCurl); 

$result = curl_exec($siteCurl); 
$http_status = curl_getinfo($http, CURLINFO_HTTP_CODE); 

if($http_status != "200"){//DO SOMETHING} 

看到這裏的HTTP代碼,如果你不確定:http://www.w3.org/Protocols/HTTP/HTRESP.html