Fabian St.: Prüfen ob Grafik existiert -> dann ausgeben

Beitrag lesen

Hi Ashura!

Welche Funktion kann ich dafür verwenden und wie würde meine Abfrage damit ausshen?

Dafür eignet sich file_exists() bestens. Der Rest erklärt sich selbst.

Deine Abfrage (in etwa):

for($i=1; file_exists("cartoon_".$i.".jpg"); i++)

{
  echo "...";
}

  
  
So einfach, wie du es vorgeschlagen hast, funktioniert dies nicht, da die Datei ja cartoon\_0001.jpg und nicht cartoon\_1.jpg heißt, wodurch file\_exists natürlich FALSE zurückliefern würde.  
Darüber hinaus halte ich while() für angebrachter, da es um eine Iteration geht, deren Ende nicht absehbar ist; dein Konstrukt ginge zwar wahrscheinlich auch, ist aber IMHO vom Stil schlechter.  
  
Eine Möglichkeit wäre so:  
  
~~~php
  
  
function addZero($nr) {  
    if($nr < 9) {  
        $str = '000';  
    } elseif($nr < 99) {  
        $str = '00';  
    } elseif($nr < 999) {  
        $str = '0';  
    }  
  
    return $str;  
}  
  
$i = 1;  
  
while(file_exists('cartoon_'.addZero($i).$i.'jpg')) {  
    echo "<img src=\"datei_".addZero($i).$i.".jpg\" />\n";  
    $i++;  
}  
  

Zu sagen wäre jedoch noch, dass obiges Beispiel davon ausgeht, dass es keine Lücken zwischen den einzelnen Zahlen gibt.

Grüße,
Fabian St.