Hallo!
Ich versuche mittels einer PHP Vorlage eine kleine und ganz einfache Bildergalerie zu erstellen. Die Bilder sollen in 6x6 Spalten und Reihen dargestellt werden aber aus irgendeinen Grund werden mir 7 Reihen und 6 Spalten angezeigt. Wäre über einen Tipp dankbar wo der Fehler liegt.
Hier ist eine Beispielseite:
und hier der PHP Code:
[PHP] <?php
$extensions = array(‚gif‘, ‚jpg‘, ‚jpeg‘, ‚png‘);
$dir = ‚images/‘;
$bilder = array();
foreach($extensions as $key => $extension)
$bilder = array_merge($bilder, glob($dir.‚*.‘.$extension));
$anzahl = count($bilder);
if(!$anzahl)
echo „Es befinden sich keine Bilder in diesem Ordner.“;
else{
$spalten = 6;
$reihen = 6;
$pro_seite = $spalten*$reihen;
$seiten = ceil($anzahl/$pro_seite);
$start = isset($_GET['seite'])?(int)$_GET['seite']:1;
if ($start < 1)
$start = 1;
if ($start > $seiten)
$start = $seiten;
}
echo "<table>\n";
echo " <tr>\n";
echo " <td style=\"width:140;\">\n";
echo "Seite: \n";
echo " </td>\n";
echo " <td style=\"text-align:left\">\n";
if ($start != 1)
echo "<a href=\"index.php?seite=".($start-1)."\"><</a> \n";
for($i=1; $i<=$seiten; $i++) {
if ($i==$start)
echo $i."\n";
else
echo "<a href=\"index.php?seite=".$i."\">".$i."</a>\n";
}
if ($start != $seiten)
echo " <a href=\"index.php?seite=".($start+1)."\" style=\"text-decoration:underline;\">></a> \n";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
$offset = ($start-1)*$pro_seite;
echo "<table>\n";
// horizontale Ausrichtung
for($i=0; $i<$reihen; $i++) {
echo " <tr>\n";
// vertikale Ausrichtung
for($j=0; $j<$spalten; $j++) {
echo " <td>\n";
// Prüfen, ob der Bild-Index auch existiert
if(isset($bilder[$offset]))
echo "<img src=\"".$bilder[$offset]."\">\n";
else
echo " ";
echo " </td>\n";
// Bild-Index erhöhen
$offset++;
}
echo " </tr>\n";
}
echo "</table>\n";
for($j=0; $j<$spalten; $j++) {
echo " <td>\n";
// Prüfen, ob der Bild-Index auch existiert
if(isset($bilder[$offset]))
echo "<img src=\"".$bilder[$offset]."\">\n";
else
echo " ";
echo " </td>\n";
// Bild-Index erhöhen
$offset++;
}
?> [/PHP]