PHP - Как проверить URL для 404 / Тайм-аут? - PullRequest
1 голос
/ 12 сентября 2010

Вот моя структура:

MYSQL: таблица: игрушки ---> столбец: id, URL. Как мне заставить мой PHP-скрипт проверить все эти URL-адреса, чтобы увидеть, живы ли они или имеют страницу 404? Старайтесь не отображать или отображать результаты на странице. Мне нужно будет записать в MYSQL дополнительный столбец «чеки».

Результаты будут в следующем формате:

http://asdasd.adas --- вверх --- 404

Это будет в PHP / Curl, если это возможно. Я пытался целую вечность. Я сдался, поэтому решил спросить здесь.

URL-адреса находятся в моей базе данных.

Ответы [ 2 ]

2 голосов
/ 12 сентября 2010

В cURL есть функция 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);
1 голос
/ 12 сентября 2010

Я надеюсь, что вы можете выполнить запрос 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
?>
...