Anzahl Dateien eines Ordners in Variable schreiben

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

  • Anzahl Dateien eines Ordners in Variable schreiben

    Hallo!

    Hab jetzt so einiges versucht, komme aber irgendwie nicht drauf.

    Ich will aus einem Ordner Bilder auslesen und mache das bisher folgendermaßen:
    PHP-Code:
    //...viele Variablen definieren...

    $anzahlpix=223//Gesamtanzahl der Bilder

    while($startwert<=$anzahlpix)
    {
              
    echo
    "<td align="center"><a href="einzel.php?bild=$bild">
        <img src="
    /bilder/pix$bild.jpg" border="0"></a></td>
        "
    ;

    if(
    $x>=5//Bilder pro Zeile--> Nach 5 Bildern neue Tabellenzeile
       
    {
       echo
    "</tr><tr>";
       
    $x=0;
       }


    Das ist jetzt natürlich stark vereinfacht, weil da noch alles Mögliche andere drin ist.
    Jedenfalls muß ich bei dieser Lösung immer, wenn neue Bilder hinzukommen, die Gesamtanzahl $anzahlpix ändern.
    Kann ich aus einem Ordner die Anzahl der vorhandenen jpgs lesen?
    Oder wenigstens die Anzahl der vorhandenen Dateien?

    Hab in der Referenz nichts gefunden und Google sagt mir auch nichts BRauchbares

    Weiß jemand eine Lösung, oder gibt es vielleicht eine Standartlösung, wie man sowas macht? (Kann ja sein, ich bin völlig aufm falschen Dampfer...)

    Danke schonmal, Gruß,
    Coni
    Gruß, Coni
    ~~ codito ergo sum - ich code, also bin ich! ~~

  • #2
    glob('*.jpg')
    count()

    Kommentar


    • #3
      Sehr gut, danke!
      Hab es jetzt so gelöst:

      PHP-Code:
      while($file readdir($dir)) {

       if ((
      $file != ".") && ($file != ".."))
        {
         
      $anzahlpics++;
        }
        
      }
      closedir($dir); 
      Leider funzt beides nicht bei entfernten Dateien, weil ich die bilder auf nem anderen Server liegen habe...
      Gruß, Coni
      ~~ codito ergo sum - ich code, also bin ich! ~~

      Kommentar


      • #4
        kann es auch nicht (zum glück erlaubt kein webserver direkten zugriff auf das dateisystem).

        warum nicht glob()?

        Kommentar


        • #5
          Hab es jetzt nochmal nur aus Spaß mit glob gemacht.
          Ist auch schön, ich denke Geschmacksache:

          PHP-Code:
          $anzahlpics=count(glob('./bilder/pics/thumbs/*.jpg')); 
          Der Vorteil ist natürlich, wenn ich noch andere Dateien als jpg drin habe, liest er mir wirklich nur die jpgs aus.
          Gruß, Coni
          ~~ codito ergo sum - ich code, also bin ich! ~~

          Kommentar


          • #6
            Geschmacksache
            nein - performanz.

            Kommentar


            • #7
              In dem Fall wäre es vielleicht im Nanaosekundebereich ;-)

              Egal, ich muß jetzt jedenfalls was mit ftp_dingens versuchen.
              sowas wie ftp_glob() gibt es nicht zufällig? ;-)

              Andere Vorschläge? Ich mache also ne ftp-Verbindung auf mit

              PHP-Code:

              $ftp_server
              ="";
              $ftp_user_name="ftp.....";
              $ftp_user_pass="*****";


              $conn_id ftp_connect("$ftp_server"); 

              $login_result ftp_login($conn_id"$ftp_user_name""$ftp_user_pass"); 
              Und wie kann ich jetzt die Dateien zählen in meinem Ordner?
              Wie muß überhaupt der Pfad aussehen:
              "http://www.xyz/bilder..." oder eher
              "./bilder..." ?

              Dateioperationen sind mir ein Greuel....
              Gruß, Coni
              ~~ codito ergo sum - ich code, also bin ich! ~~

              Kommentar


              • #8
                http://de3.php.net/manual/de/function.ftp-rawlist.php

                Kommentar


                • #9
                  Genau das hab ich auch gefunden!
                  Warum nicht ftp_nlist()?

                  Okay, der Zugriff auf den Server funzt, aber wie krieg ich die Anzahl der Dateien in dem Ordner? Jetzt geht ja glob nicht mehr...
                  Gruß, Coni
                  ~~ codito ergo sum - ich code, also bin ich! ~~

                  Kommentar


                  • #10
                    ftp_nlist() würde auch gehen.

                    schau dir das ergebnis der funktion an, bevor du fragst.

                    Kommentar


                    • #11
                      AAHHHHHH... ich habs! Moment...
                      Gruß, Coni
                      ~~ codito ergo sum - ich code, also bin ich! ~~

                      Kommentar


                      • #12
                        PHP-Code:
                        //......
                        $files ftp_nlist($conn_id"./privat/bilder/"); //zeugs auslesen
                        foreach ($files as $file) {

                          echo 
                        "<br>$file=File";
                          
                        $anzahlpics++;

                        }

                          echo
                        "anzahl=$anzahlpics";
                        // Schließen des FTP-Streams
                        ftp_quit($conn_id); 

                        Schade, daß ./privat/bilder/*.jpg nicht geht, ist aber okay!
                        Gruß, Coni
                        ~~ codito ergo sum - ich code, also bin ich! ~~

                        Kommentar


                        • #13
                          wildcarding müsste eigentlich klappen.

                          Kommentar


                          • #14
                            falls nicht, dann

                            ftp_chdir

                            Kommentar


                            • #15
                              Naja, ist egal, hab eh nur Bilder in dem Ordner.
                              Jetzt hab ich nur ein anderes Problem...lokal geht es und online nicht, obwohl ich auch lokal auf den Server zugreife, wie online, nur eben nicht von meinem anderen Server...
                              Sind da irgendwelche Sicherheitstechnische Haken?

                              Fehlermeldung ist:

                              Fatal error: Call to undefined function: ftp_connect() in /raid/domains/de/c/coniaric/htdocs/bs/var.php on line 16

                              Line 16 ist:

                              $conn_id = ftp_connect("$ftp_server");

                              und die funzt lokal...
                              Gruß, Coni
                              ~~ codito ergo sum - ich code, also bin ich! ~~

                              Kommentar

                              Lädt...
                              X