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.