Ankündigung

Einklappen
Keine Ankündigung bisher.

Verzeichnis auslesen und gruppiert darstellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PeBroe7
    hat ein Thema erstellt Verzeichnis auslesen und gruppiert darstellen.

    Verzeichnis auslesen und gruppiert darstellen

    Hallo Leute, wie ihr seht, ist das mein erstes Posting. Meine php-Kenntnisse sind leider sehr beschränkt, deswegen müsst ihr wahrscheinlich etwas geduldig mit mir sein. :-/

    Folgendes Problem:
    In einem Verzeichnis liegen diverse pdf-Dokumente. Diese sollen nach dem Beginn des Dateinamens gruppiert dargestellt werden.

    Dateinamenbeispiele:
    14I15-02 xxx.pdf
    14I15-01 yyy.pdf
    13I14-10 xxx.pdf
    13I14-03 yyy.pdf
    12I13-09 zzz.pdf
    Herauskommen soll dann folgendes:
    Saison 12I13:
    12I13-09 zzz.pdf

    Saison 13I14:
    13I14-10 xxx.pdf
    13I14-03 yyy.pdf

    Saison 14I15
    14I15-02 xxx.pdf
    14I15-01 yyy.pdf
    Natürlich sollen die pdf's verlinkt werden.

    Folgenden Code habe ich vor einiger Zeit irgendwo im Internet einmal gefunden:

    PHP-Code:
    <?php
        $buchstabe_alt 
    "";
        
    $verzeichnis openDir("pdfs");
        while (
    $file readDir($verzeichnis)) {
         if (
    $file != "." && $file != "..") {
          
    $buchstabe strtoUpper(substr($file05));
          if (!
    strstr($buchstabe_alt$buchstabe)) {
           
    $buchstabe_alt .= $buchstabe;
           
    // Anfangsbuchstaben anzeigen
           
    echo "<br>Saison " $buchstabe "<br>"
          }
            
    // Dateityp filtern. Es werden nur .pdf-Dateien angezeigt
            
    if (strstr($file".pdf")) {
            
    // Dateiendung vom Dateinamen filtern
            
    $name explode("."$file);
          echo 
    "<a href=\"pdfs/$file\" target=\"_blank\">$name[0]</a><br>\n";
            }
          }
        }
        
    closeDir($verzeichnis);
    ?>
    Leider klappt das nicht wie gewünscht, ab und zu schmeisst er mir eine "14I15"-pdf in die "13I14"-Gruppe.

    Als Zusatzinfo solltet ihr wissen, dass die Dateinamen bis zu 30 Zeichen inkl Extension lang sein können.

    Als zusätzliches Feature wäre noch praktisch, wenn in den Dateinamen Umlaute vorhanden sein könnten.

    Ich hoffe ich habe mich einigermaßen deutlich ausgedrückt?

    Schon einmal besten Dank für eure Hilfe.

  • chorn
    antwortet
    Zitat von lstegelitz Beitrag anzeigen
    o'realy?

    Ich les da genau das gleiche
    Und das obwohl die Posts 5 Minuten auseinanderliegen! Wie hast du das nur geschafft?!

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von tkausl Beitrag anzeigen
    Erst auslesen und sammeln, dann Sortieren, dann Gruppenbruch
    Zitat von chorn Beitrag anzeigen
    Ich würde da anders rangehen:

    1. Dateinamen mit glob() einlesen
    2. Das entstandene Array mit sort() sortieren
    3. Das sortierte Array in Gruppen unterteilen
    o'realy?

    Ich les da genau das gleiche

    Einen Kommentar schreiben:


  • chorn
    antwortet
    Ich würde da anders rangehen:

    1. Dateinamen mit glob() einlesen
    2. Das entstandene Array mit sort() sortieren
    3. Das sortierte Array in Gruppen unterteilen

    PHP-Code:
    foreach( $sortedArray as $filename ){
     
    $group substr$filename0);
     
    $groupedArray$group ] = $filename;

    4. Mal das Ergebnis ausgeben lassen, print_r($groupedArray);
    5. Die entstandene Struktur durchlaufen

    PHP-Code:
    foreach( $groupedArray as $group => $filenames ){
     foreach( 
    $filenames as $filename ){
     ...
     }

    6 entsprechend Überschriften und Links setzen

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Erst auslesen und sammeln, dann Sortieren, dann Gruppenbruch

    Einen Kommentar schreiben:

Lädt...
X