Bildordner checken und Zufallsbild

borish

Mitglied
Tach zusammen,
ich habe mir ein Script zusammengebastellt, was aus einem Ordner Dateien (in diesem Falle Bilddateien) ausliest und in einer Ebene eines PHP-Dokumentes anzeigt. Die Bilder können mit zwei Buttons jeweils vor und zurück navigiert werden. Hier erstmal das Script:

PHP:
<?php

//### Pfad zum Verzeichnis angeben (ohne Slash am Ende!) ###

$handle = opendir("./img/modern");

 //### Arrays für das Ergebnis bereitstellen ###

$filenames = array();

$x = 0;

//### Verzeichnis lesen und Ergebnis zwischenspeichern ###

while (($file = readdir($handle)) !== FALSE) {

            //### Standarddirectories herausfiltern aus Ergebnis ###

            if (($file != ".") && ($file != "..")){

                        $filenames[$x] = $file;

                        $x++;
            }
}

//### Kann schon wieder geschlossen werden ###
closedir($handle);

 //### Ergebnis ausgeben ###

if (count($filenames) < 1) {

            print("Das Verzeichnis ist leer!");
}

else{
             //### Ergebnis Alphabetisch ordnen ###

            sort($filenames);

            //### Ausgabe Gesamtzahl der Files im dir ###

            echo "Anzahl der Files im Directory:";

            echo count($filenames);

            echo "<br>";

           //### Durch GET übergebene Variable (Array-Index) in i zwischenspreichern ###

            $i = $_GET['arr_id'];

             //### Ausgabe des Filenames, natuerlich auch möglich, File (z.B. als <img> ) anzeigen zu lassen ###

            echo "Filename: ";

            echo $filenames[$i];
            ?>
<img src="./img/modern/<?php echo $filenames[$i];?>">
            <br>

           
           <?php

}

?>
    
<a href="<?php $_SERVER['PHP_SELF']?>?arr_id=<?php echo $i-1;?>&page=imgtest">vorheriger File</a>

<a href="<?php $_SERVER['PHP_SELF']?>?arr_id=<?php echo $i+1;?>&page=imgtest">naechster File</a>

Folgendes Problem: Ich möchte, dass wenn der Ordner nur 6 Bilder enthält, dass man nicht weiterklicken kann. Momentan kann man einfach weiterklicken und es entsteht dieses hässliche rote Kreuz (Bild nicht gefunden)

Außerdem will ich das jeweils beim neuen Seitenaufruf ein Random-Bild angezeigt werden soll.

Gruss Boris
 
Zuletzt bearbeitet:
Ich schätze am einfachsten wäre es dem Script die Zahl der letzten Seite mitzugeben und
falls diese mit der aktuellen übereinstimmt zeigst du keinen Link zum nächsten Bild an.
Selbiges würd ich auch für die erste Seite einbauen, sonst kann man ja dort auch rückwärts
ins Negative blättern - nur musst du hier keine Zahl übergeben, schließlich ist meistens die 1
die erste Zahl ...
 

Neue Beiträge

Zurück