hans: Bildergalerie Problem

Beitrag lesen

Hallo Forum.

Bin gerade dabei, eine Galerie per php zu erstellen.
Sie funktioniert nach folgendem Prinzip:

1. Es wird ein query $dir übergeben, der den Ordner, in der die anzuzeigenden Bilder sind, kennzeichnet.
Also: http://localhost/blabla/index.php?dir=../galerie1/

2. Es wird der Inhalt des übergebenen Ordners mittels scandir() ermittelt. Die ersten zwei Elemente ("." und "..") werden per array_shift() gelöscht. Somit habe ich nur die Dateinamen im Array

3. Es wird per echo() ein tabelle eingeleitet

4. Mit foreach() wird jedes Element des arrays mit <img> so verknüpft, dass dann folgender HTML-Code entsteht:

foreach($files as $bild){
   $bild="<img src="".$dir.$bild."">";

=> <img src="galerie1/image001.jpg">

5. In der foreach-Schleife gibt es eine for()-Schleife, die nach 4 Bildern eine neue <tr> anfängt (davor natürlich die aktuelle <tr> schließt).

Und hier ist das Problem: In der ersten Zeile sind 5 statt 4 Bilder. Aber in allen restlichen sind es vier.
Und es wird immer nur image001.jpg geladen, aber keine fortlaufende Bilder (alle bilder sind im Format image###.jpg gespeichert).

Ich gebe euch am besten mal den Quelltext, damit ihr mein Problem besser versteht:

_____________________________________________________________________

<?php
   // Prüfen, ob Parameter ein Ordner ist

if(is_dir($dir)){

// Alle Dateinamen in Array lesen,
  // erste zwei Elemente ("." und "..") werden gelöscht
   $files = scandir($dir);
    for($i=0;$i<2;$i++){
  array_shift($files);
 }

// Tabelle ausgeben
echo "<table width="100%" border="1">";

foreach($files as $bild){
  // So bearbeiten, dass HTML-Code daraus entsteht
   $bild="<img src="".$dir.$bild."">";

// Dann ausgeben
     echo "\n";
     echo "<tr>";
     echo "\n";

for($i=0;i<4;$i++){

echo "<td>";
 echo $bild;
 echo "</td>";
 echo "\n";

if($i==4){
  echo "</tr>";
  echo "\n";
       echo "<tr>";
       echo "\n";
       $i=0;
 }

}
}

// Tabelle beenden
echo "</table>\n";
   }

// Wenn Parameter keine Galerie ist, Meldung ausgeben und sterben
   else{
    die("Galerie nicht gefunden!");
   }

?>
_____________________________________________________________________

Vielen Dank für die Zeit.

euer hans