if (is_file())

Sasser

Erfahrenes Mitglied
Hallo!

Habe eine Frage; Ich prüfe, ob eine Datei existiert mit;

PHP:
if (is_file("Downloads/$name.rar")) { echo "<font color='#008000'><b>&bull; Datei OK</b></font>"; } else { echo "<font color='#FF0000'><b>&bull; Dateifehler</b></font>"; }

So nun möchte ich auch gern prüfen, ob ein Bild existiert;

PHP:
if (is_file("intern/images/$name.$pictyp")) { echo "<font color='#008000'><b>&bull; Bild OK</b></font>"; } else { echo "<font color='#FF0000'><b>&bull; Bilderror</b></font>"; }

Nur funktioniert es nicht so ganz, denn wenn ich (is_file("intern/images/$name.png")) eingebe geht das, aber wenn ich (is_file("intern/images/$name.$pictyp")) benutze geht es nicht, obwohl in der Variable png steht!?

Ist das falsch formatiert?

PHP:
(is_file("intern/images/$name.$pictyp"))
 
Lass es dir doch mal ausgeben:
PHP:
echo "intern/images/$name.$pictyp";
Dann siehst du, wo der Fehler liegt.
 
Wenn ich mich nicht ganz täusche gibt is_file() auch dann true zurück, wenn die Datei nicht existiert, aber einen Dateinamen enthält. Folglich müsstest du das ganze mit file_exists() machen.
MfG, Andy
 
Wenn ich mich nicht ganz täusche gibt is_file() auch dann true zurück, wenn die Datei nicht existiert, aber einen Dateinamen enthält. Folglich müsstest du das ganze mit file_exists() machen.
MfG, Andy
Die Ergebnisse der Methoden "is_file" und "file_exists" werden von PHP im Cache gehalten, um eine bessere Performance zu bieten. Demnach könnte die Überprüfung, ob eine Datei existiert, um diese z.B. zu löschen, bei einer erneuten Überprüfung einen falschen Wert zurückgeben. clearstatcache löscht den PHP Cache.
 
Das stimmt zwar, hat aber nicht viel damit zu tun, was ich gesagt habe. Ich habe nur gesagt, dass, wenn ich mich nicht irre eine Überprüfung, ob eine Datei existiert, mit is_file() nicht sinnvoll ist, da is_file() auch dann true zurück gibt, wenn diese Datei garnicht existiert.
MfG, Andy
 
Das stimmt zwar, hat aber nicht viel damit zu tun, was ich gesagt habe. Ich habe nur gesagt, dass, wenn ich mich nicht irre eine Überprüfung, ob eine Datei existiert, mit is_file() nicht sinnvoll ist, da is_file() auch dann true zurück gibt, wenn diese Datei garnicht existiert.
MfG, Andy
Das ist doch total unlogisch, welchen Sinn hätte die Funktion dann? Schau dir das Manual dazu mal genauer an.
 
Zurück