Seite 1 von 2

Dateizähler

Verfasst: Sa 3. Apr 2004, 11:14
von ChrisD
Hallo zusammen!
Ich bin auf der Suche nach einem ganz einfachem Modul:
Man gibt einen Ordner an und das Modul zählt die Dateien dieses und der Unterordner.
Ausgabe sollte dann ungefähr so aussehen:
Es sind 346 Bilder online

Kann mir kaum vorstellen, dass sowas in der der Art noch nicht gibt, aber die Suchfunktion spuckt keine ERgebnisse aus.

Gruß
Chris

Verfasst: So 4. Apr 2004, 17:44
von emergence
na ja in der art kenne ich kein modul...

hier eine funktion(ein snippet) die glaube ich nicht schwierig sein dürfte anzupassen...

Code: Alles auswählen

<?
   function getDirList ($dirName) { 
       $d = dir($dirName); 
       while($entry = $d->read()) { 
           if ($entry != "." && $entry != "..") { 
               if (is_dir($dirName."/".$entry)) { 
                   getDirList($dirName."/".$entry); // subdirectory found ?
               } else { 
                   echo $entry."<br>\n"; // show files
               } 
           } 
       } 
       $d->close(); 
   } 

   getDirList("../cms");
?>

Verfasst: Mo 5. Apr 2004, 08:53
von ChrisD
Danke erstmal!
Wenn ich das richtig verstehe, erstellt das Script eine Liste der Files.
Wie kann ich das denn zu einen Zählvorgang umändern?
Als Ordner muss ich doch nur "getDirList("../cms")" ändern?

Gruß
Christopher

Verfasst: Mo 5. Apr 2004, 09:00
von emergence
das mit den ordner ist korrekt...

einen zähler machst du einfach in dem du eine globale variable innerhalb der funktion(am beginn) definierst zB:
global $filecount;

und anstelle von

Code: Alles auswählen

echo $entry."<br>\n"; // show files 
schreibst du einfach

Code: Alles auswählen

$filecount++;
nach

Code: Alles auswählen

getDirList("../cms");
könnte man einfach

Code: Alles auswählen

echo "Files:".$filecount;
schreiben...

so ähnlich sollte es funktionieren... zum testen habe ich aber leider keine zeit gehabt... bin die nächsten tage etwas beschäftigt...

Verfasst: Mo 5. Apr 2004, 09:08
von ChrisD

Code: Alles auswählen

<?

   function getDirList ($dirName) {
       global $filecount;
       $d = dir($dirName);
       while($entry = $d->read()) {
           if ($entry != "." && $entry != "..") {
               if (is_dir($dirName."/".$entry)) {
                   getDirList($dirName."/".$entry); // subdirectory found ?
               } else {
                   $filecount++;
               }
           }
       }
       $d->close();
   }
   $filecount = 0;
   getDirList("../cms/upload/Photos/2003/");
   echo $filecount." Bilder sind online";
?>
So?

Verfasst: Mo 5. Apr 2004, 09:14
von emergence
ich hab dein posting nachkorrigiert, sollte laufen...
muss jetzt weg..

Verfasst: Mo 5. Apr 2004, 09:27
von ChrisD
Danke, es klappt!

Verfasst: Fr 9. Apr 2004, 04:01
von bartekk
Bei safe mode on klappt es nicht. Wie war denn nochmal die alternative schreibweise. Fällt mir gerade nicht ein!

Gruß

Thomas

Verfasst: Di 20. Apr 2004, 05:13
von bartekk
bartekk hat geschrieben:Bei safe mode on klappt es nicht. Wie war denn nochmal die alternative schreibweise. Fällt mir gerade nicht ein!

Gruß

Thomas

edit:Ich meine bei safe mode on!!!

Verfasst: Di 20. Apr 2004, 05:14
von bartekk
Bei safe mode on klappt es nicht. Wie war denn nochmal die alternative schreibweise. Fällt mir gerade nicht ein!

Gruß

Thomas

Verfasst: Di 20. Apr 2004, 05:15
von bartekk
Hat keiner einen Vorschlag oder wie?

Verfasst: Do 22. Apr 2004, 19:36
von ChrisD
Hab ein kleines Problemchen:
Da ich Bilder Zählen will, befinden sich auch Thumbnails in der Ordnerstruktur.
Was kann ich nun machen, damit das Ergebnis durch 2 geteilt wird?

Gruß
Chris

Verfasst: Di 27. Apr 2004, 11:22
von Acidgod

Code: Alles auswählen

<? 

   function getDirList ($dirName) { 
       global $filecount; 
       $d = dir($dirName); 
       while($entry = $d->read()) { 
           if ($entry != "." && $entry != "..") { 
               if (is_dir($dirName."/".$entry)) { 
                   getDirList($dirName."/".$entry); // subdirectory found ? 
               } else { 
                   $filecount++; 
               } 
           } 
       } 
       $d->close(); 
   } 
   $filecount = 0; 
   // SO VIELLEICHT???
   $filecount = $filecount/2; 
   getDirList("../cms/upload/Photos/2003/"); 
   echo $filecount." Bilder sind online"; 
?>
So sollte es gehen oder?

Verfasst: Di 27. Apr 2004, 15:40
von ChrisD
Danke erstmal!
Hab im Moment ein paar Contenido und Serverprobleme, werde es dannach mal ausprobieren.

Gruß
Chris

Verfasst: So 9. Mai 2004, 12:20
von emergence
nur ne allgemeine info. ich gehöre nicht zu four for business.