MudGuard: Test ob file existiert

Beitrag lesen

Hi,

Nun möchte ich auf die Erreichbarkeit einer bestimmten Datei prüfen.
Also:
$link = "http://de.selfhtml.org/schmarrn/kaese/butter.html";

Was jetzt? Eine Datei? Oder eine URL? http hat nichts mit Dateien zu tun.

http://de.selfhtml.org/schmarrn/kaese/butter.html nicht gefunden
Aber jetzt:
$link = "http://de3.php.net/schmarrn/kaese/butter.html";
Ergebnis:
http://de3.php.net/schmarrn/kaese/butter.html existiert und ist erreichbar
Hm???? Wieso denn das?

Der Server antwortet mit (im Wesentlichen)
302 Found
Location: http://de3.php.net/search.php?show=quickref&lang=de&pattern=schmarrn%2Fkaese%2Fbutter.html

Er leitet den Request also auf eine andere HTTP-Ressource weiter - ohne eine Fehlerseite oder einen Fehlerstatus zu senden.
Wird diese Ressource angefordert, geschieht das gleiche Spielchen nochmal, es kommt wieder

302 Found
Location: http://de3.php.net/manual-lookup.php?pattern=schmarrn%2Fkaese%2Fbutter.html&lang=de

Also eine weitere Weiterleitung auf eine andere URL.
Wird diese Ressource angefordert, kommt
200 OK
samt der Seite.

Es existiert also eine Ressource, die unter der genannten URL erreichbar ist (wenn auch auf Umwegen).
Auf de.selfhtml.org existiert eben keine derartige Umleitung, also kommt auch das Ergebnis "gibtsnicht".

Hat jemand eine Erklärung dafür?

http. Das hat nichts mit Dateien zu tun.
Aus irgendwelchen Gründen meinten die PHP-Leute, daß sie die PHP-Nutzer verwirren müssen und haben es daher ermöglicht, auf http-Ressourcen mit Datei-Funktionen zugreifen zu können.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.