phpbar.de logo

Mailinglisten-Archive

[php] Feststellen ob eine Datei existiert

[php] Feststellen ob eine Datei existiert

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Mon, 15 Nov 1999 12:42:16 +0100


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