2009-05-16 2 views
0

Ich bin derzeit mit:Mit simplexml_load_file würde ich gerne von Zeit differeniate und und 404 Fehlern

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

In meinem Code würde ich, wenn die Seite Auszeiten wiederholen mag, aber wenn die Seite nicht gefunden (404) Ich möchte es zu einer Liste nicht gefundener Seiten hinzufügen.

Wenn ich zwischen den zwei Arten von Fehlern unterscheiden könnte, kann ich den Rest erledigen.

Für die Neugierigen können Sie den Status-Code mit dem folgenden Code erhalten:

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

    ... 

Aber ich curl gearbeitet besser machen wollte.

+0

möglich Duplikat [Einfache Möglichkeit, eine URL für 404 in PHP zu testen?] (Http://stackoverflow.com/questions/408405/easy-way-to-test-a-url-for -404-in-php) – hakre

Antwort

3

Ich denke, dass Sie dafür Curl verwenden müssten. Curl kann Ihnen sagen, ob die Anfrage abgelaufen ist oder eine 404 zurückgegeben hat. Wenn keine dieser Bedingungen auftritt, können Sie die Ergebnisse der Anfrage einfach an simplexml_load_string übergeben.

http://nl2.php.net/curl