php opendir - Dateien im Ordner zählen?

... komplette Frage anzeigen

4 Antworten

Ist normal das "." und ".." auftauchen kannst entweder (wenn du nur zählen willst) am ende 2 abziehen was natürlich Ressourcensparender ist als jedes mal ne abfrage durchlaufen zu lassen. Wenn du mit den ausgabewerten später arbeiten musst mach dann doch lieber die abfrage obs sich nur um . oder .. handelt

Antwort bewerten Vielen Dank für Deine Bewertung

Direkt an den Anfang der while Schleife:

if($entry == '.' || $entry == '..')
continue;
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Plueschtier94
09.09.2016, 12:34

Danke, daran hatte ich auch gedacht gehabt, aber das ist ja theoretisch nur ein WorkAround. Wenns keine Lösung dafür gibt, werde ich das so machen :D

0
Kommentar von RakonDark
09.09.2016, 12:47

auch hier finde ich das continue komischer style ist .

warum nicht einfach das was zu tun ist in die if bedingung .


if($entry !== '.' || $entry !== '..') {
// todo
}

lässt sich auch besser lesen .


ausserdem harder ich da mit dem ==
besser ist immer bei sowas ===

1
$fileCount = 0;
foreach(glob('PFAD'.'/*.*') as $file) {
$fileCount++;
}

Ganz einfach und simpel und nur 4 Zeilen Code ^^

MFG xGlumi

Antwort bewerten Vielen Dank für Deine Bewertung
is_dir('../bilder/ordner/'.$variantenausgabe->sku_kat.'/'.$variantenausgabe->sku_num.'/')){
if ($handle = opendir('../bilder/ordner/'.$variantenausgabe->sku_kat.'/'.$variantenausgabe->sku_num.'/')) {
$z = 0;
while (false !== ($entry = readdir($handle))) {
$z++;
if( $entry == '.' || $entry == '..') {
                continue;
}

echo $entry;
}
closedir($handle);
}
}
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Plueschtier94
09.09.2016, 12:35

Danke, daran hatte ich auch gedacht gehabt, aber das ist ja theoretisch nur ein WorkAround. Wenns keine Lösung dafür gibt, werde ich das so machen :D

0
Kommentar von bormolino
09.09.2016, 12:39

Aber nur, wenn dies auch unter der condition steht:

$z++;

Sonst zählt er "." und ".." wieder mit.

0
Kommentar von RakonDark
09.09.2016, 12:43

oh god , da arbeitet einer mit continue :/

1