$url = 'http://example.com';
$site = curl_init($url);
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($site);
if(FALSE){//DO SOMETHING}
我嘗試使用捲曲刮頁,但我需要檢測如果url是失敗。捲曲刮頁如果失敗
問題,哪個會更好?
curl or file_get_contents($ url)?
$url = 'http://example.com';
$site = curl_init($url);
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($site);
if(FALSE){//DO SOMETHING}
我嘗試使用捲曲刮頁,但我需要檢測如果url是失敗。捲曲刮頁如果失敗
問題,哪個會更好?
curl or file_get_contents($ url)?
也許它更容易做到這一點,沒有file_get_contents
。
$siteContent = file_get_contents("http://example.com");
if($siteContent) {
// do something
}
如果您需要更多選項或帖子,那麼您必須使用捲曲。爲此,您必須在您的php.ini中將選項allow_url_fopen
設置爲On
。
我已經試過文件獲取內容,但我想嘗試不同的方法,並不確定哪個更好,什麼不同 – user2178521
它更短。你不能設置這麼多選項。 – Stony
cURL調用在您要發佈帖子請求時更有用,或者擁有像Stony這樣的更多選項 – JammyDodger231
你可以使用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
開始從[這裏](HTTP: //www.php.net/manual/en/function.curl-getinfo.php) – hindmost