Tom: problem mit file(), wenn nicht vorhanden

Beitrag lesen

Hello,

ich möchte die funktion file() benutzen, um damit eine andere webseite einzulesen:

$html = implode('', file($page));

soweit funktioniert das ja auch, aber wenn $page ungültig ist (z.b. dns kann nicht aufgelöst werden) wirft das ganze eine unschöne fehlermeldung aus.
gibts eine funktion um das vorher zu überprüfen ob $page eine gültige url ist?

Nein, aber eine andere Vorgehensweise würde ich Dir empfehlen.
Die PHP-Funktionen sind nicht alle eigensicher. Das bedeutet, dass manche Funktionen nicht alle denkbaren Argumente vertragen können, sondern dann eine böse Fehlermeldung auslösen, anstatt einen definierten Fehlercode zurückzugeben. Das liegt mesitens an dem varianten Ergebnistyp der Funktion.

Du solltest also bei solchen Aufgaben die Funktionen nicht schachteln, sondern deren Rückgabe- und Fehlerwerte (in $phperrormsg ) einzeln pro Stufe auswerten.

Außerdem ist das von Dir gewählte Konstrukt recht teuer. Benutze doch einfach

$html = file_get_contents($url);

wenn Du keine Multi-Thread-Fehler auswerten musst.
file_get_contents() ist genauso wie file() nicht geeignet, Multi-User-Anwendungen funktionssicher zu machen, da es kein Locking und auch keine Auswertung der lokalen und entfernten Locks zulässt.

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau