problem mit dateianzahl auslesen

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

  • problem mit dateianzahl auslesen

    servus
    ich hab ne kleine funktion geschrieben die das aufzählen von dateien in ordnern und unterordnern ermöglich soll... ich habe 6 bilder und 3 ordner in dem verzeichniss das ich durchsuche.. aber ausgeben tut mir das skript 11.. ich versteh nich wie der auf 11 kommt und ich seh absolut alle dateien auf dem space... hilfe wäre ganz nett

    PHP-Code:
    function getDirectoryFiles($path)

    {

      
    $totalcount 0;

      if (
    $handle opendir ($path))

      {

        while (
    false !== ($file readdir($handle)))

        {

          
    $nextpath $path '/' $file;

          if (
    $file != '.' && $file != '..' && !is_link ($nextpath))

          {

            if (
    is_dir ($nextpath))

            {
              
    $result getDirectoryFiles($nextpath);
              
    $totalcount += $result['count'];
            }

            elseif (
    is_file ($nextpath))

            {

              
    $totalcount++;

            }

          }

        }

      }

      
    closedir ($handle);

      
    $total['count'] = $totalcount;

      return 
    $total;


    Pierre Voit ( Freelancer seit 2004 )

  • #2
    Und wieviele dateien sind in den unterordnern?
    Freedom is a state of mind. Not a state in which we live.

    troxdev.ch | animefieber

    Kommentar


    • #3
      es sind 2 im hauptordner und 4 in einem weiteren unterordner
      Pierre Voit ( Freelancer seit 2004 )

      Kommentar


      • #4
        also bei mir funktioniert dié Funktion einwandfrei. Bist du sicher, dass der Pfad den du übergibst nicht vielleicht noch ein anderer ist?

        Kommentar


        • #5
          könnte das ein macosx-server sein? der schreibt auch noch resource-fork-dateien überall rein. und die sieht man normalerweise nicht. trenne mal nach dateien und ordnern, dann weißt du zumindest schon, bei was er falsch zählt.

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            also die dir angabe ist

            PHP-Code:
            $inmemhandle="userimages/".$id."/"// user directory 
            und aufrufen tue ich es mit
            PHP-Code:
            $inco getDirectoryFiles($inmemhandle);
            $inco['count']; 

            mit isfile trenne ich doch schon

            edit: sorry zu spät gechecked...
            wenn ich nen directory counter mit einbau gibt der mit 2 directorys aus...
            aber der sollte die dirs ja beim zählen nich mit rechnen
            Zuletzt geändert von bloodyorchid; 21.01.2009, 19:55.
            Pierre Voit ( Freelancer seit 2004 )

            Kommentar


            • #7
              mit isfile trenne ich doch schon
              aber du zählst trotzdem alles zusammen. btw, was passiert, wenn du anstatt
              PHP-Code:
              $total['count'] = $totalcount;
              return 
              $total;
              ...
              $inco getDirectoryFiles($inmemhandle); 
              mit
              PHP-Code:
              return $totalcount;
              ...
              $inco['count'] = getDirectoryFiles($inmemhandle); 
              arbeitest? und wie sehen die testausgaben aus?

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Du könntest ja einmal statt die Dateien nur zu Zählen einen Array mit den gefunden Dateien in den Ordnern als Rückgabe der Funktion einrichten. Dann kannst du ja erst einmal von Hand zählen wieviele es sind und welche da eigentlich nicht enthalten sein sollten.

                Kommentar


                • #9
                  also ich hab mal arrays dazwischen gepackt und er gibt folgendes mit var dump aus:

                  array(3) {
                  [0]=> string(0) ""
                  [1]=> string(25) "userimages/393/Mein_Album"
                  [2]=> string(21) "userimages/393/thumbs" }

                  array(3) {
                  [0]=> string(0) ""
                  [1]=> string(20) "userimages/393/1.jpg"
                  [2]=> string(23) "userimages/393/a5ad.gif" }
                  Pierre Voit ( Freelancer seit 2004 )

                  Kommentar


                  • #10
                    dann prüfe zusätzlich mit empty. dann hast du es.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      dann komm ich doch aber trotzdem nich auf meine 6 denn von den 6 arrays sind ja 2 leer x_X

                      also ich glaub ich weiss jetzt das problem aber nicht wie ich es ändern könnte...

                      das sind die geechoten werte:
                      userimages/393/1.jpg
                      userimages/393/Mein_Album/3.jpg
                      userimages/393/Mein_Album/Mein_Album2.jpg
                      userimages/393/Mein_Album/me.jpg
                      userimages/393/Mein_Album/thumbs/me.jpg
                      userimages/393/Mein_Album/thumbs
                      userimages/393/Mein_Album/78.jpg
                      userimages/393/Mein_Album
                      userimages/393/a5ad.gif
                      userimages/393/thumbs/1.jpg
                      userimages/393/thumbs/2.jpg
                      userimages/393/thumbs/3.jpg
                      userimages/393/thumbs/78.jpg
                      userimages/393/thumbsNULL

                      davon sind 11 auch dateien...
                      problem nur.. die waren mal auf dem ftp und sind es jetzt aber nicht mehr... kann es sein das der den ordner noch iwo aufhat? o_O
                      Zuletzt geändert von bloodyorchid; 21.01.2009, 20:17.
                      Pierre Voit ( Freelancer seit 2004 )

                      Kommentar


                      • #12
                        was sind
                        geechoten werte
                        kann es sein das der den ordner noch iwo aufhat?
                        wer hat was wo auf?

                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Das ist doch eigentlich mal wieder ein Fall für DirectoryIteratoren... !
                          Oder?
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            mit gechoten werte meinte ich die werte die er ausgibt die er zählt als echo

                            und mit offen meinte ich das php vllt den ordner noch geöffnet hat und deswegen nich richtig ausliest...

                            hab das problem aber nun gefunden es lag daran das die dateien nicht richtig gelöscht worden sind also skript funktioniert einwandfrei nun
                            Pierre Voit ( Freelancer seit 2004 )

                            Kommentar

                            Lädt...
                            X