Funktion readdir auf Ordner beschränken

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Funktion readdir auf Ordner beschränken

    Hallo Leute, ich hab mir mal das Beispiel zur Funktion readdir beim Selfphp angeschaut. So wie ich das verstehe wird das Skript in einen Ordner gepackt und zeigt dort den ganzen Verzeichnisinhalt an, inklusive der Skriptdatei. Ich möchte nun aber das dort nur die Ordnernamen angezeigt werden und nicht auch noch die Skriptdatei. Wie kann ich das realisieren?

    Beispiel aus dem selfphp:

    <?PHP

    $verz=opendir ('.');
    while ($file = readdir ($verz))
    { if($file != "." && $file != "..") echo "$file <br>";}
    closedir($verz);
    ?>

    Vielen Dank im Voraus für die Hilfe
    MfG Simauki

  • #2
    1. bitte php-tags reineditieren.
    2. die if-abfrage um ein
    PHP-Code:
    is_dir($file
    ergänzen.

    Kommentar


    • #3
      dazu einfach mal die Funktion is_dir ansehen
      EDIT:
      misst zu langsam

      Kommentar


      • #4
        Danke, das Skript funktioniert jetzt Spitze. Muß nur noch etwas formatiert werden.

        Ich hätte da aber noch was anderes. Das Skript soll es in 2 Versionen geben. Einmal sollen alle Ordnernamen angezeigt werden (so wie jetzt). Das andere Skript soll aber nur den "neuesten" Ordnernamen anzeigen.

        Wenn Ihr mir da auch nochmal so schnell helfen könntet wäre das echt nett.

        MfG Simauki

        Kommentar


        • #5
          Mit filectime den Zeitpunkt des Erstellens ermitteln und das dann als Vergleichskriterium nehmen?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Das versteh ich nicht. Es soll nichts zu vergleichen geben. Das Skript soll sich nur den neuesten Ordner rauspicken.

            Simauki

            Kommentar


            • #7
              Original geschrieben von simauki
              Das versteh ich nicht. Es soll nichts zu vergleichen geben. Das Skript soll sich nur den neuesten Ordner rauspicken.
              Und woher weiß das Skript, dass es den neuesten Ordner hat?

              Naaa?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                eben. das script muss ein maßstab haben: 2 tage vor diesem augenblick.
                und dann vergleichen - ist die erstellungszeit eines ordners davor - ist der ordner alt.
                ist sie danach - ist der ordner neu und muss "ausgespuckt" werden.

                viel erfolg.

                Kommentar


                • #9
                  Hmm, klingt logisch. Also das Vergleichsdatum/Zei ist jetzt. Das Datum der Ordner ist irgendwann früher und wird mit der Funktion filectime ausgelesen. Wie vergleich ich jetzt aber das Datum/Zeit von jetzt und die vielen anderen Daten der Ordner? Wie würde da der Ablauf aussehen?

                  Letztendlich nimmt der doch das erste Datum und vergleicht es mit jetzt. Das schreibt er dann in eine Speichervariable. Dann das nächste. Wenn das kleiner ist als das in der Speichervariable, dann ist der Ordner also älter. Wenn nicht, kommt das in die Speichervariable. Und so weiter und so fort.

                  Wie realisier ich das?

                  Simauki

                  Kommentar


                  • #10
                    so, wie du es beschrieben hast.

                    http://de2.php.net/manual/en/language.types.array.php
                    http://de2.php.net/manual/en/control...es.foreach.php

                    Kommentar


                    • #11
                      Hallo nochmal, ich hab nochmal was im Zusammenhang mit dem Auslesen der Dateinamen in einem Ordner.

                      Das Skript sieht bis jetzt so aus:

                      PHP-Code:

                      $verz
                      =opendir ('.');
                      while (
                      $file readdir ($verz)) 
                      {if(
                      $file != "." && $file != ".." && is_dir($file)) 
                      echo 
                      "<a href=$file/index.php target=blank>$file<br><br>";}
                      closedir($verz); 
                      Es soll die Bilderordnernamen in einem Ordner auslesen und als Hyperlinks zu den entsprechenden Galerien darstellen.

                      Das Problem ist jetzt, das der Link den die Variable $file zurückgibt so aussieht:

                      Kreisunion_Jugend_Februar_2002_Brockwitz

                      Ich möchte jetzt noch die Unterstriche wegbekommen. Das macht man doch mit der Funktion explode? Ich bekomme die aber nicht in das Skript eingebaut. Kann mir da eventuell jemand helfen?

                      MfG Simauki
                      Zuletzt geändert von simauki; 29.09.2005, 17:58.

                      Kommentar


                      • #12
                        Original geschrieben von simauki
                        Ich möchte jetzt noch die Unterstriche wegbekommen. Das macht man doch mit der Funktion explode?
                        Mit str_replace geht's einfacher.


                        P.S.
                        Brich bitte deinen Code um
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Wo muß ich das einbauen? Das liegt doch in einer Schleife. Ich komm damit einfach nicht klar.

                          Kommentar


                          • #14
                            PHP-Code:
                            echo '<a href='.$file.'/index.php target=blank>'.
                              
                            str_replace('_'''$file).'<br><br>'

                            Brich endlich deinen Code um, sonst muss ich das machen...
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Danke vielmals. So ähnlich hatte ich es auch schon. Mein Problem ist nur das ich noch nicht ganz so gut mit der Trennung von HTML und PHP klar komme.

                              Vielen Dank nochmals.

                              P.S: Ich habe den Code umgebrochen. Ich hoffe das geht so.

                              Kommentar

                              Lädt...
                              X