С simplexml_load_file я хотел бы различать время ожидания и ошибки 404 - PullRequest
0 голосов
/ 16 мая 2009

Я сейчас использую:

$page = simplexml_load_file('http://www.example.com/page.html');

В моем коде я хотел бы повторить попытку, если время ожидания страницы истекло, но если страница не найдена (404), я бы хотел добавить ее в список не найденных страниц.

Если бы я мог различить два типа ошибок, я бы сделал все остальное.

Для любознательных вы можете получить код статуса со следующим кодом:

if ($page == FALSE) 
{
  list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
  echo 'Status Code: '.$status_code."\n";

   ...

Но я хотел, чтобы керл работал лучше.

1 Ответ

3 голосов
/ 16 мая 2009

Я думаю, вам придется использовать curl для этого. Curl может сказать вам, истекло ли время ожидания запроса, или вернул 404. Если ничего из этого не произошло, вы можете просто передать результаты запроса в simplexml_load_string.

http://nl2.php.net/curl

...