我將從用戶處獲取網址。現在我需要驗證地址是否存在。驗證網址是否有效並正在運行
例如:
如果用戶輸入「google.com」,那麼我會通過「google.com」作爲參數傳遞給一些功能,函數將返回TRUE我如果URL是活的,上傳和運行,否則爲假。
任何內置函數或一些幫助。
我將從用戶處獲取網址。現在我需要驗證地址是否存在。驗證網址是否有效並正在運行
例如:
如果用戶輸入「google.com」,那麼我會通過「google.com」作爲參數傳遞給一些功能,函數將返回TRUE我如果URL是活的,上傳和運行,否則爲假。
任何內置函數或一些幫助。
我建議使用get_headers($url)並檢查您的回覆中是否包含「200 OK」。如果是這樣,那麼該網站是活着的,並用一個有效的請求作出迴應。如果需要,您還可以檢查其他狀態代碼,例如重定向和什麼。
嘗試fopen
$f = @fopen('http://www.google.com/', 'r');
if (is_resource($f)) {
fclose($f);
return true;
} else { return false; }
function url_exists($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,5);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $code == 200;
}
您可能希望支持額外httpcodes如201,但是這取決於你。
編輯:
AS記下這個給你了你想失敗之前使用超時更好的控制。
你有沒有試過'file_get_contents()' – 2011-06-01 04:19:20