2010-09-11 51 views
1

這裏是我的結構:PHP - 如何檢查404 /超時的URL?

MYSQL:表:玩具--->欄:id,URL。如何讓我的PHP腳本檢查所有這些URL以查看它們是否仍然存在或者有404頁?儘量不要在頁面上回顯或顯示結果。我需要在MYSQL中添加一個額外的列「檢查」。

結果,將在以下格式:

http://asdasd.adas --- ---高達404

如果可能的話這將是在PHP /捲曲。我一直在努力多年。我放棄了,所以決定在這裏問。

網址全部位於我的數據庫中。

回答

2

在嫋嫋,還有的curl_getinfo功能,即返回有關當前處理一些信息:

<?php 
// Create a curl handle 
$ch = curl_init('http://www.yahoo.com/'); 

// Execute 
curl_exec($ch); 

//fill here the error/timeout checks. 

$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
+0

我將從數據庫中獲取URLS,一旦結果顯示它記錄到MYSQL數據庫。那就是我需要的。 – Ray 2010-09-11 23:24:23

+0

@Raymond從DB獲取它們,循環記錄,並根據@zneak的說法進行相應更新。 – aularon 2010-09-11 23:35:31

1

我相信你可以運行SQL查詢並枚舉結果,所以這裏是cURL部分。爲每個URL發送一個HEAD請求,並檢查結果代碼。

<?php 
$handle = curl_init($yourURL); 
curl_setopt($handle, CURLOPT_NOBODY, true); 
curl_exec($handle); 
$result = curl_getinfo($handle, CURLINFO_HTTP_CODE); 
// $result now contains the HTTP result code the page sent 
?> 
+0

我怎麼會結果到我的數據庫記錄到正確的列? – Ray 2010-09-11 23:13:33

+0

@Raymond使用'UPDATE'語句。你有一些關於SQL語言的基本知識嗎? – zneak 2010-09-11 23:14:36

+0

潛行,不是真的,而是一點點。我根據更新聲明。給我一個結構。 – Ray 2010-09-11 23:23:26