2015-02-11 55 views
0

我需要檢查給定的短url是否有效。並在獲取展開的網址後使用以下php函數獲取網址信息。檢查網址是否激活或不在php

get_headers($original_url); 

並且結果不正確。我使用當前活動的URL測試這個。

還有其他方法可以找到嗎?

在此先感謝。

+4

描述'活躍url' – Justinas 2015-02-11 07:53:30

+0

「不正確」,基本相當於「它不工作」,這是沒有多大用處的人的時候它涉及到確定問題的原因。你的輸入數據是什麼,你期望得到什麼結果,以及你實際得到了什麼結果? – GordonM 2015-02-11 07:57:27

+0

展開的網址?活動的網址?原始網址?請你解釋一下,就像你正在向一個從未看過你的系統的人解釋過的,或者知道它應該做什麼。提前致謝。 – 2015-02-11 08:00:31

回答

0

要檢查遠程文件存在,或者不使用cUrl爲:

$ch = curl_init('http://example.com/index.php'); 

curl_setopt($ch, CURLOPT_NOBODY, true); 
curl_exec($ch); 
$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
// $retcode > 400 -> not found, $retcode = 200, found. 

if ($retcode == 200) { 
    $isUrlOk = true; 
} else { 
    $isUrlOk = false; 
} 

curl_close($ch); 
+2

這不是一個壞的解決方案,但它可以經受一些改進。遠程服務器可以返回大量不是200的非錯誤代碼。例如重定向可能導致3xx代碼。你也可以通過使請求成爲一個HEAD請求來提高效率,所以它只能獲取標題而不是整個頁面。 – GordonM 2015-02-11 08:01:24

相關問題