foreach glob verschachtelte if else Klausel
Steffi
- php
Guten Abend zusammen,
ich hoffe mir kann jemand helfen bzw. die Augen öffnen.
Ich frage wie folgt Bilder in einem Ordner ab:
foreach(glob("../bilder/$id"."-sommer.*") as $filename)
{
if(is_file($filename))
{
echo "Bild vorhanden";
}
else
{
echo "Kein Bild vorhanden";
}
}
Falls ein Bild vorhanden ist wird mir "Bild vorhanden" ausgegeben.
Aber falls kein Bild vorhanden ist wird nichts ausgegeben.
Stehe auf dem Schlauch und freue mich über Hilfe.
Grüße
Steffi
Tach!
foreach(glob("../bilder/$id"."-sommer.*") as $filename)
Falls ein Bild vorhanden ist wird mir "Bild vorhanden" ausgegeben.
Aber falls kein Bild vorhanden ist wird nichts ausgegeben.
Wenn glob() nichts findet, ist das Ergebnis ein leeres Array. Das ergibt dann 0 Schleifendurchläufe ...
dedlfix.
Tach!
foreach(glob("../bilder/$id"."-sommer.*") as $filename)
Falls ein Bild vorhanden ist wird mir "Bild vorhanden" ausgegeben.
Aber falls kein Bild vorhanden ist wird nichts ausgegeben.Wenn glob() nichts findet, ist das Ergebnis ein leeres Array. Das ergibt dann 0 Schleifendurchläufe ...
dedlfix.
Hallo dedlfix,
leider verstehe ich es nicht. Bekomme auch so nicht das gewünschte Ergebnis:
$matches = glob("../bilder/$id"."-sommer.*");
if(is_array($matches))
{
foreach ($matches as $filename)
{
echo "da";
}
}
else
{
echo "nix da";
}
Bitte um einen Hinweis.
Steffi
Tach!
Bitte nicht alles zitieren sondern nur den Teil, auf den du dich konkret beziehst. Danke.
Wenn glob() nichts findet, ist das Ergebnis ein leeres Array. Das ergibt dann 0 Schleifendurchläufe ...
leider verstehe ich es nicht. Bekomme auch so nicht das gewünschte Ergebnis:
$matches = glob("../bilder/$id"."-sommer.*");
if(is_array($matches))
Solange kein Fehler auftritt, ist das Ergebnis von glob() immer ein Array. Nur ist es eben mit oder ohne Inhalt. Wenn du nur wissen willst, ob Dateien vorhanden sind, dann brauchst du keine Schleife, sondern kannst mit count() zählen lassen. Oder aber, du machst dir PHPs automatische Typkonvertierung zu Nutzen und fragst nur if ($matches) ... Wenn das Array leer ist, gehts in den else-Zweig.
dedlfix.