function url_exists($url)
{
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_NOBODY, 1); // 不下載 curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); return (curl_exec($ch)!==false) ? true : false;
}
用這個函數判斷網址是否存在,傳入的url如果是字母能很快判斷是否存在,傳入的url是中文,判斷會變得很慢,為什嗎?請問有什麼改進方法?
回複內容:
function url_exists($url)
{
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_NOBODY, 1); // 不下載 curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); return (curl_exec($ch)!==false) ? true : false;
}
用這個函數判斷網址是否存在,傳入的url如果是字母能很快判斷是否存在,傳入的url是中文,判斷會變得很慢,為什嗎?請問有什麼改進方法?
供參考 http://blog.csdn.net/ashelyhss/article/details/7916970
希望有所協助~ :)
如果用curl判斷的話 先自行設定規則過濾非url
然後根據返回的headers資訊判斷url是否存在
其次有個很方便的函數 get_headers() 非url會返回false 正常的url會返回headers資訊 然後判斷下http狀態就行了