Ordner auslessen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
anzahl
array
auszugeben code
break
code
datei
dateiname
element
fehler
file
folgende problem
funktioniert danke
links break
ordner
server
switch
verzeichnis
vorhandene anzahl
zahl
-
ich habe folgende Problem
ich habe code
<?php error_reporting(E_ALL | E_STRICT); $dirIter = new RecursiveDirectoryIterator('Z:\xampp\htdocs\server'); $recursiveIterator = new RecursiveIteratorIterator($dirIter, RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD); $counts = array(); $counts['files'] = 0; $counts['links'] = 0; $counts['directorys'] = 0; $counts['all'] = 0; $counts['size'] = 0; foreach($recursiveIterator as $element){ switch($element->getType()){ case 'file': $counts['files']++; $counts['size'] += $element->getSize(); break; case 'link': $counts['links']++; break; case 'dir': $counts['directorys']++; break; } $counts['all']++; } echo 'Anzahl Elemente: ' . $counts['all'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Dateien: ' . $counts['files'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Ordner: ' . $counts['directorys'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Symlinks: ' . $counts['links'] . PHP_EOL; echo '<br/>'; echo 'Größe der Dateien: ' . $counts['size'] . PHP_EOL; echo 'Bytes'; ?>
der code zeiget false ergebnisse bei "Anzahl .... kann mir jemend helfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Zunächst mal: Wie genau meinst du das? Schreibt dein Skript
auf die Konsole? Oder gibt es eine Fehlermeldung? Bzw. was genau gibt dein Skript aus?Anzahl Elemente: false Anzahl Dateien: false Anzahl Ordner: false Anzahl Symlinks: false Größe der Dateien: false
-
Das Skript zählt auch noch alle Elemente in den Unterordnern mit. Hast du das beachtet?
-
ja komm ich troztem nicht auf 35 ordner
in
Verzeichnis: Z:\xampp\htdocs\server
stimmt überhaubt so
Z:\xampp\htdocs\server'
festplatte "Z"
in Ordner "xampp\htdocs\serve"
soll auch hier zahlen "ordner,Datein"
Beitrag zuletzt geändert: 9.3.2015 16:29:50 von youtvti -
In jedem Verzeichnis werden auch . und .. gelistet. Deshalb hast du so viele Ordner.
Hier noch ein modifiziertes Skript. Ich habe Zeile 23 eingefügt, um alle Ordner auszugeben.<?php error_reporting(E_ALL | E_STRICT); $dirIter = new RecursiveDirectoryIterator('Z:\xampp\htdocs\server'); $recursiveIterator = new RecursiveIteratorIterator($dirIter, RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD); $counts = array(); $counts['files'] = 0; $counts['links'] = 0; $counts['directorys'] = 0; $counts['all'] = 0; $counts['size'] = 0; foreach($recursiveIterator as $element){ switch($element->getType()){ case 'file': $counts['files']++; $counts['size'] += $element->getSize(); break; case 'link': $counts['links']++; break; case 'dir': echo $recursiveIterator->current()."<br>"; $counts['directorys']++; break; } $counts['all']++; } echo 'Anzahl Elemente: ' . $counts['all'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Dateien: ' . $counts['files'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Ordner: ' . $counts['directorys'] . PHP_EOL; echo '<br/>'; echo 'Anzahl Symlinks: ' . $counts['links'] . PHP_EOL; echo '<br/>'; echo 'Größe der Dateien: ' . $counts['size'] . PHP_EOL; echo 'Bytes'; ?>
Prüfe also ob der Dateiname ungleich . oder .. ist und zähle nur dann die Ordner hoch. -
Ich habe dein Script bei mir getestet. Es liefert exakt die vorhandene Anzahl der Ordner. Auch die Anzahl der Objekte ist Ordner+Dateien, bei dir wie bei mir.
Auch die Byte-Zahl stimmt.
Probiere es doch mal mit einem anderen Verzeichnis aus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage