PHP Header -> Wie kann man den Fehlercode auslesen?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Riceman
Beiträge: 85
Registriert: 20.05.2003 10:02:17
Kontaktdaten:

PHP Header -> Wie kann man den Fehlercode auslesen?

Beitrag von Riceman » 08.10.2004 09:31:30

Hi@all!

Also ich kenne mich ganz gut mit PHP aus, aber leider überhauptnicht mit http-Headern. Wie bekommt man es hin, eine beliebige Datei mit fopen einzulesen und den header abzufragen? An der fopen-Syntax müßt Ihr Euch nicht aufhalten... Ich möchte einfach eine Routine, die beim Aufruf einer URL, egal ob Webseite oder Datei, kontrolliert, ob diese überhaupt existiert. Und das natürlich unabhängig vom Format der auf dem Server eingestellten Fehlerseite. Den Rückgabewert des Servers kann man doch im Header ablesen, oder?

Vielen Dank schonmal für Eure Mühe!

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 08.10.2004 09:49:11

fopen kontrolliert doch schon ??

Wenn fopen das File bzw. die URL nicht öffnen kann gibt es FALSE zurück

Code: Alles auswählen

<?php
$URL = "http://www.example.com/foo.html";
$RESULT = fopen( $URL, "r" );
if ( $RESULT ){
  echo "Webseite/File gefunden und geöffnet";
  fclose ( $RESULT );
} else {
  echo "Webseite/File existiert nicht";
}
?>
Zuletzt geändert von zyta2k am 08.10.2004 12:36:00, insgesamt 1-mal geändert.

Riceman
Beiträge: 85
Registriert: 20.05.2003 10:02:17
Kontaktdaten:

Beitrag von Riceman » 08.10.2004 10:06:59

wenn ich eine url mit fopen öffne, diese datei nicht existiert und der server eine fehlerseite zurückschickt, dann wird fopen ja trotzdem "gefüttert". und liefert eben keinen fehler zurück, oder irre ich mich?

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 08.10.2004 12:34:37

Warning: fopen(http://localhost/foo.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/test.php on line 3
Webseite/File existiert nicht

Wenn du die Warning disablest solltest du ne saubere sache haben ;)

Und: Er schickt zwar nen Header... aber einen mit nem 404. Und den wird fopen wohl (imho) anders verarbeiten.

Antworten