Rolf b: Javascript Überprüfung ob Datei vorhanden

Beitrag lesen

PHP kann "alles", für einen gewissen Wert von alles. Es mag nur irgendwann zu langsam sein. Aber dafür gibt's dann alternative Ausführungsumgebungen, z.B. ist Facebook in PHP geschrieben, und nutzt einen eigenen optimierten Interpreter (vll auch Compiler, weiß nicht genau).

Deine Schleife lässt sich viel optimaler ausdrücken, wenn Du, wie vorgeschlagen, eine entsprechende Formatierung nutzt. Die Formatsymbole von printf und Konsorten sind hier beschrieben. Der ganze Rest von PHP ist von da aus erreichbar ;-)

%d heißt: Hier eine Zahl in der benötigten Größe ausgeben.
%2d heißt: Hier eine Zahl mit Länge von 2 oder mehr ausgehen. Ist sie einstellig, nach links mit Leerstellen auffüllen.
%02d heißt: Hier eine Zahl mit Länge von 2 oder mehr ausgeben. Ist sie einstellig, nach links mit Nullen auffüllen.

Sodann hat PHP ein Feature, das sich Variablenexpansion nennt (hier dokumentiert). Statt
'Hallo '.$name.', wie geht es'
kannst Du auch schreiben
"Hallo $name, wie geht es".
Das passiert nur bei Strings, die in doppelten Anführungszeichen stehen (oder Heredoc Syntax nutzen, siehe vorigen Link). Strings in einfachen Anführungszeichen expandieren nicht.

Dein Code optimiert sich damit zu:

for ($i=0; $i < $nummer; $i++) 
{
   $link = sprintf('http://localhost/zpic-carpet-klassisch-%02d.php', $i);
   $bild = sprintf('images/carpet_preview/klassisch/%02d.jpg', $i);
	
   if (file_exists($bild)) 
   {
      echo "<a href='$link' alt=' '><img src='$bild' class='zoom-gal' /></a>";
   }
}

Damit das funktioniert, musste ich die von Dir genutzte Anführungszeichenverwendung umdrehen. Doppelte für PHP, und einfache fürs generierte HTML. Wenn Du bisher immer einfache Anführungszeichen für deinen PHP Code genutzt hast, bedeutet das für Dich etwas Aufmerksamkeit. Aber das ist eine PHP Vorgabe. Willst Du Variablenexpansion, brauchst Du doppelte Anführungszeichen (oder Heredoc Syntax, siehe die verlinkte PHP Seite).

Die leere Else habe ich nach Hause geschickt, der war es zu langweilig.

Rolf