Ordnerdateien auslesen + Beschreibung hinterlegen

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

  • Ordnerdateien auslesen + Beschreibung hinterlegen

    Hallo,

    ich lese mit einem Script den Inhalt eines Verzeichnisses aus.
    Angezeigt werden dann die Dateinamen untereinander wie gewünscht.

    Allerdings möchte ich nicht die Dateinamen anzeigen, sondern eine Beschreibung, die ich in einer txt-Datei im selben Verzeichnis liegen habe, wobei jede Zeile darin eine Beschreibung entspricht.

    Wie ordne ich nun die zeilenweisen Beschreibungen den ausgelesenen Ordnern zu?

    Wenn es das schon öfters gab, entschuldige ich mich. Aber ich wusste absolut nicht, was ich suchen sollte.

    Das Auslesescript des Ordners:
    PHP-Code:
      $verzeichnis "files/";
      
    $handle=opendir($verzeichnis);
      
    $data = array();
      while (
    $file readdir ($handle))
      {
         if (
    $file != "." && $file != ".." && $file != "files.txt")
         {
            
    $data[$file] = $filedate;
         }
      }
      
    closedir($handle);
      
    natsort($data,1);
      foreach (
    $data as $file => $date)
      {
        echo 
    "<a href=\"".$verzeichnis.$file."\">$file</a><br>";
      } 
    In der files.txt soll dann die Beschreibung drin stehen, daher zeige ich sie nicht mit an.

    Das Auslesescript der txt-Datei:
    PHP-Code:
    function filesAuslesen()
    {
     
    $fp=fopen("files/files.txt","r");
     
     while(
    $line=fgets($fp,1024)) {
      echo 
    "$line<br>";
     }

     
    fclose($fp);
    }
    filesAuslesen(); 
    Die habe ich als Funktion geschrieben, um sie vllt. im oberen Script verwenden zu können irgendwie. Aber ich weiß nicht wie...
    Zuletzt geändert von DerUnsympath; 15.03.2007, 11:01.

  • #2
    Was ist denn wie in dieser .txt Datei gespeichert?

    habe ich das richtig verstanden? du lässt alle dateien aus dem verzeichnis ausgeben und willst dann jeweils zu jeder Datei einen kommentar aus der txt datei herausholen und das dann mit in dieser zeile ausgeben?


    Des weiteren poste mal den code mit, mit dem du das verzeichnis und die txt datei ausließt.
    signed oder unsigned... das ist hier die Frage

    Kommentar


    • #3
      PHP-Code:
      file_get_contents(); 
      gibt Dir den Inhalt der .txt aus.
      Wie ordne ich nun die zeilenweisen Beschreibungen den ausgelesenen Ordnern zu?
      Ist das jetzt ne Layoutfrage? Beschreib mal genauer, was Du vor hast.

      Kommentar


      • #4
        Hallo, ich habe oben editiert.

        Folgendes schwebt mir vor. Derzeit werden die Dateien so angezeigt:
        Code:
        datei1.zip
        datei2.zip
        datei3.zip
        In der files.txt liegen zeilenweise die Namen bzw. die Beschreibungen:
        Code:
        Namedatei1
        Namedatei2
        Namedatei3
        Jetzt will ich beim Auslesen der Dateien nicht die Dateinamen angezeigt haben, sondern die jew. Beschreibungen aus der files.txt Datei.

        Also dann quasi so:
        Code:
        Im verzeichnis befinden sich folgende Dateien:
        Namedatei1 - datei1.zip
        Namedatei2 - datei2zip
        Namedatei3 - datei2.zip
        Zuletzt geändert von DerUnsympath; 15.03.2007, 11:08.

        Kommentar


        • #5
          Original geschrieben von DerUnsympath
          In der files.txt liegen zeilenweise die Namen bzw. die Beschreibungen:
          Wenn du das ganze so naiv aufbaust, wird es nicht mehr zusammenpassen, sobald irgendeine neue Datei hinzukommt.
          Jetzt will ich beim Auslesen der Dateien nicht die Dateinamen angezeigt haben, sondern die jew. Beschreibungen aus der files.txt Datei.
          Wozu dann überhaupt noch das Verzeichnis auslesen, wenn du einen derart statischen und unflexiblen Ansatz fahren willst?


          Sinnvoll könnte ich das nur dann finden, wenn du die Beschreibungen mit dem Dateinamen als Schlüssel in der Textdatei ablegst, und so eindeutig zuordnen kannst.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Wenn du für jedes Verzeichnis ne Textdatei hast, dann könntest du die Datei einlesen, jeden Eintrag exploden und ein Array erstellen mit dem Dateinamen als Index und der Beschreibung als Element.
            Bei der Ausgabe dann einfach
            PHP-Code:
            echo '<a href="pfad/datei.zip">'.$array['datei.zip'].'</a>'
            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Original geschrieben von wahsaga
              Sinnvoll könnte ich das nur dann finden, wenn du die Beschreibungen mit dem Dateinamen als Schlüssel in der Textdatei ablegst, und so eindeutig zuordnen kannst.
              Du meinst á la
              Code:
              datei1.zip|beschreibung1
              ?

              Sicherlich wäre das besser, aber ich hab ja so schon Probleme.

              Wie müsste ich denn dann das Ganze angehen?

              @jahlives: Wie müsste dann die files.txt aussehen? Wie obiges Beispiel von mir?

              Kommentar


              • #8
                Pro Verzeichnis eine Datei und den Aufbau kannst du so lassen
                Code:
                Namedatei1 - datei1.zip
                Namedatei2 - datei2zip
                Namedatei3 - datei2.zip
                PHP-Code:
                $temp file('textdatei.txt');
                $arr = array();
                foreach(
                $temp as $wert){
                    
                $t explode('-',$wert);
                    
                $arr[trim($t[1])] = trim($t[0]);

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar

                Lädt...
                X