Fledermaus: Ordner zuerst sortieren

Hallo,

Kann mir bitte jemad helfen ich möchte die Fotos aus dem Ordner vor dem Auslesen sortieren aber ich bekomm es nicht hin!

<?php  
  
$dir="bilder/$ordner";  
$src=opendir($dir);  
  
while (false !== ($filename = readdir($src))) {    $imgsrc[] = $filename;}  
  
  
if(!$imgsrc[2]) {  
echo "Es sind keine Bilder im Verzeichnis vorhanden!";  
}else{  
$path=$dir."/".$imgsrc[2];  
  
?>

Ich weis das ich readdir sortieren muss aber leider nicht wie!

Mfg Johannes

  1. Hello,

    Kann mir bitte jemad helfen ich möchte die Fotos aus dem Ordner vor dem Auslesen sortieren aber ich bekomm es nicht hin!

    Wenn Du nur die Namen aus einem Verzeichnis auslesen willst, dann könnte

    glob()

    für Dich die passende Funktion sein. Die kann auch (per default) sortieren.

    http://de3.php.net/manual/en/function.glob.php

    Wenn Du mit readdir() arbeiten willst, dann musst Du die Namen _erst_ in einem Array sammeln und kannst dann das Array sortieren lassen. Das macht glob() in einem Schritt.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo Tom,

      Wo und wie muss ich die Funktion gloub() einfügen?

      Mfg Johannes

      1. Hello,

        Wo und wie muss ich die Funktion gloub() einfügen?

        Die Funktion heißt glob() http://de.php.net/manual/en/function.glob.php

        <?php

        $dir="bilder/$ordner";

        ### Alle Filenamen im Verzeichnis einsammeln im Array
            $_filenames = glob($dir.'/*.*);

        ### alle Nicht-Bilder aus dem Array entfernen
            foreach($_filenames as $key => $name)
            {
                if (false === getimagesize($name))
                {
                    unset($_filenames[$key]);
                }
            }

        if (count($_filenames) == 0)
            {
                echo "Es sind keine Bilder im Verzeichnis vorhanden!";
            }
            else
            {
                ### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
                ### in eine Ausgabe-Variable schreibt, die dann später in Dein
                ### Template eingesetzt wird :-)

        $output['gallery'] = make_gallery_html($_filenames);
            }
        ?>

        Ein kleines Anwendungsbeispiel für Zufallsbilder findest Du unter:
        http://selfhtml.bitworks.de/snippets/directories_auslesen/zufallsbilder_anzeigen/

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hello,

          »» Wo und wie muss ich die Funktion gloub() einfügen?

          Die Funktion heißt glob() http://de.php.net/manual/en/function.glob.php

          <?php

          $dir="bilder/$ordner";

          ### Alle Filenamen im Verzeichnis einsammeln im Array
              $_filenames = glob($dir.'/*.*);

          ### alle Nicht-Bilder aus dem Array entfernen
              foreach($_filenames as $key => $name)
              {
                  if (false === getimagesize($name))
                  {
                      unset($_filenames[$key]);
                  }
              }

          if (count($_filenames) == 0)
              {
                  echo "Es sind keine Bilder im Verzeichnis vorhanden!";
              }
              else
              {
                  ### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
                  ### in eine Ausgabe-Variable schreibt, die dann später in Dein
                  ### Template eingesetzt wird :-)

          $output['gallery'] = make_gallery_html($_filenames);
              }
          ?>

          Ein kleines Anwendungsbeispiel für Zufallsbilder findest Du unter:
          http://selfhtml.bitworks.de/snippets/directories_auslesen/zufallsbilder_anzeigen/

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          Hallo,

          Danke für die schnelle Antwort,

          aber irgendie muss ich $imgsrc[] herkriegen aber wie mach ich denn das?

          Mfg Johannes

          1. Hello,

            else
                 {
                     ### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
                     ### in eine Ausgabe-Variable schreibt, die dann später in Dein
                     ### Template eingesetzt wird :-)

            $output['gallery'] = make_gallery_html($_filenames);
                 }

            Danke für die schnelle Antwort,

            aber irgendie muss ich $imgsrc[] herkriegen aber wie mach ich denn das?

            Das steht schon fertig aufbereitet im Array $_filenames.
            Lass Dir das Array doch mal anzeigen.
            (Tausch doch einfach mal den Else-Zweig gegen den folgenden Code aus :-)

            else
                    {
                        echo "<pre>\r\n";
                        echo htmlspecialchars(print_r($_filenames,1));
                        echo "</pre>\r\n";
                    }

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de