Mailinglisten-Archive |
Lars Scholand wrote:
> wie kann ich feststellen ob eine Datei exisitert. Wenn ich es mit
> readfile versuche, dann bekomme ich eine PHP-Fehlermeldung,
> dass die Datei nicht exisitiert. Genau dies will ich aber abfangen.
Mit "file_exists()" kannst Du feststellen, ob eine Datei zu dem
Zeitpunkt existierte, an dem "file_exists()" ausgeführt wurde.
Das bedeutet nicht, daß sie immer noch existieren muß, wenn Du
danach irgendwann einmal "readfile()" ausführen wirst.
Die korrekte Lösung für Dein Problem ist
$res = _(at)_readfile($file);
if (!$res) {
die("Konnte $file nicht lesen!");
}
Genauso gibt es haufenweise Lösungen, die z.B. is_readable() verwenden,
um ein fopen() zu schützen. Richtig wäre in diesem Fall
$fp = _(at)_fopen($file, "r");
if (!$fp) {
die("Konnte $file nicht lesen!");
}
Man verzeihe mir, wenn ich da drauf rumreite, aber ich lese viel zu
viele Exploits wegen Race-Conditions auf Bugtraq...
Kristian
--
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.netuse.de/ (We have moved! Update your bookmarks!)
php::bar PHP Wiki - Listenarchive