Bilder aus Ordner auslesen

Falloutboy6

Mitglied
Hallo zusammen,

ich benutze schon seit ewigkeiten dieses Script um Bilder aus einem Ordner auszulesen. Seit dem ich auf einem neuen Server bin, liest mir das Script die Dateien in einer ganz komischen und nicht nachvollziehbaren Reihenfolge die Bilder aus.
z.B. 3, 16, 33, usw. Wer sieht da einen Fehler bzw. kann mir helfen.

PHP:
<?php 

    $Bilder = array();
    $Pfad = "./" . $_GET['kat'] . "";
    $handle = opendir($Pfad);

    while ($file = readdir ($handle)){ 
        if (($file != "." && $file != "..") && (!fnmatch("*.htm*", $file)) && (!fnmatch("*.html*", $file)) && (!fnmatch("*.php*", $file)) && (!fnmatch("*_th.jpg*", $file))){ 

            if (is_dir($file)) {
            $Folder[] = $file;
            } else {
            $Bilder[] = $file;
            }
        } 
    } 
    closedir($handle);
    
    if(isset($_GET['Bild'])){
        $Bild = $_GET['Bild'];
    }else{
        $Bild = 1;
    }
    
    
    echo "<table width=\"600px\" cellspacing=\"5px\" border=\"0\" align=\"center\">";
    echo "<tr>";
    echo "<td colspan=\"3\" width=\"700px\" height=\"397px\" align=\"center\"><img src=\"" . $Pfad . $Bilder[$Bild - 1] . "\" class=\"border\" onclick=\"window.close()\" height=\"450px\"></td>";
    echo "</tr><tr>";
    if($Bild > 1){
        echo "<td width=\"250px\" align=\"right\" class=\"text\"><a href=\"" . $_SERVER['PHP_SELF'] . "?Bild=" . ($Bild - 1) . "&kat=" . $_GET['kat'] . "\"></a></td>";
    }
    else{
            echo "<td align=\"left\" width=\"250px\"></td>";
        }
            echo "<td align=\"left\" width=\"100px\" class=\"text\"></td>";
    if($Bild < count($Bilder)){
    echo "<td width=\"250px\" align=\"left\" class=\"text\"><a href=\"" . $_SERVER['PHP_SELF'] . "?Bild=" . ($Bild + 1) . "&kat=" . $_GET['kat'] . "\"></a></td>";
    }
    
    else{
            echo "<td align=\"left\" width=\"250px\"></td>";
        }
    echo "</tr></table>";
?>

Vielen Dank
 
Das ging ja schnell. Danke.
Aber auch hier liest er es leider falsch aus. Die Reihenfolge stimmt überhaupt nicht.

Ich hab mal die Struktur vom Server als Bild angehängt. Und dann auch noch die Ausgabe im Browser.
 

Anhänge

  • screen-capture-2.jpg
    screen-capture-2.jpg
    67,7 KB · Aufrufe: 26
  • screen-capture-3.png
    screen-capture-3.png
    7,8 KB · Aufrufe: 16
Zuletzt bearbeitet:
Das Script gibt die Namen in der Reihenfolge aus, in der sie vom Server kommen. Daß die richtig sortiert erscheinen, ist immer eine Sache des Betriebssystems bzw. des verarbeitenden Programms. Falls du dich noch an alte DOS Zeiten erinnerst, damals war auch alles durcheinander. Daß es auf deinem alten Server anders war, dürfte wohl Zufall gewesen sein. Lies das ganze in ein Array ein und laß es sortieren.

btw: Wenn du die Strings in ' einfache Hochkomma ' packst, kannst du dir die Maskierung der " Anführungsstriche " sparen. Das Script wird besser lesbar und schneller läuft es auch noch ab da PHP die Strings nicht auf Variablen absuchen muß. Zumal du die Variablen ja jetzt auch schon vom statischen Text trennst.
 
Zuletzt bearbeitet:
Zurück