ich habe mir eine komplette Bildergalerie selbstgebaut.
Ich muss sagen, dass ein Array in der Tat das einfachste ist, was man benutzen kann, denn sonst musst du dateien benutzen, was die sache wesentlich undynamischer macht, wenn man mal ein paar Bilder dazu-uploadet. dann muss man nämlich auch wieder die Datei ändern oder sie ändern lassen vom Skript usw...
So, und nun hier mal mein Beispiel, wie sich ein solches array selbst mit Elementen füllt, indem es ein Verzeichnis durchsucht:
PHP:
// Funktion zur Überprüfung, ob gefundene Dateien wirklich Bilder sind
function bild($name)
{
if (substr_count($name, ".jpg")>0 || substr_count($name, ".JPG")>0 || substr_count($name, ".gif")>0 || substr_count($name, ".GIF")>0 || substr_count($name, ".jpeg")>0 || substr_count($name, ".JPEG")>0 || substr_count($name, ".png")>0 || substr_count($name, ".PNG")>0)
{
return 1;
}
else return 0;
}
// Array anlegen für gefundene Dateien
$datei_array = array();
// mit "gallery.php?dir=verzeichnis" wird der Ordner "verzeichnis" geöffnet
$verzeich1 = $dir;
$verzeich2 = "./".$dir;
$verzeichnis = opendir($verzeich2);
// Überprüfung der Dateien auf Gültigkeit
while($datei = readdir($verzeichnis))
{
if($datei != "." && $datei != "..")
{
// ist die Datei wirklich ein Bild?
if(bild($datei)==1)
{
// Datei wird in das Array aufgenommen
array_push($datei_array, $datei);
}
}
}
^^ so kann man das machen! es gibt bestimmt noch wesentlich elegantere und kürzere Varianten, aber da das ding funktioniert und der Server dabei auch nicht lahm wird, ist es mir erst mal egal.
Du kannst anstelle meines "dynamischen" Verzeichnisses über den querry natürlich auch selbst eins vordefinieren, dann kannst dir das in der URL sparen, wenn du nur ein Verzeichnis hast...
...so, ich hoffe ich konnte etwas helfen!
[ EDIT ]
das wichtigste hätt ich ja beinahe vergessen: Die Seitenerstellung...
PHP:
// Erstellung der Tabelle
for($a=0; $a<sizeof($datei_array); $a++){
$y++;
if (($y >= $start1) && ($y <= $end1)) {
^^ innerhalb dieser for-Schleife wird für jedes gefundene Element im vorher erzeugten Array "$datei_array" eine Zelle erstellt. Die if-Schleife dient hier dazu, um den Element-Bereich auf einer Seite wiefolgt einzugrenzen:
auf der ersten Seite ist "$start1 = 1". "$end1" wird selbst generiert aus "$start1 + $pic_count". "$pic_count" ist bei mir widerrum die Anzahl der anzuzeigenden Bilder pro Seite. So wird automatisch abgebrochen, wenn der Bereich von "$start1" bis "$end1" überschritten wird.
Um dann solche Links zu erstellen zum "weiterblättern" oder "zurückblättern" ist es nur notwendig eine variable im link als querry mit einzubinden und diese bei "zurück" auf "$start1 - $pic_count" zu setzen und beim "weiter"-link auf "$start1 + $pic_count". Der zu berücksichtigende Bereich erzeugt sich eh automatisch und damit braucht man nichts weiter anzugeben...