hoe kan ik de bestanden in een dir op mijn server counten? Het doel hiervan is om te checken of de directory empty is of niet.
Met deze code:
<?php
count(glob("" . $dirname . "*.*"));
?>
worden alle files in de directory gecounted. Maar ik moet alleen te weten komen of er bestanden zoals images of documents in de dir bestaan, en niet of er subdirs zijn...
Alvast bedankt voor jullie hulp.
Greetz, Mike ;)
?
Onbekende gebruiker
01-09-2009 19:37
Persoonlijk maak ik liever gebruik van de [php]class.dir[/php]. Dat is een soort van alias gedoe voor [php]opendir[/php]. Ik denk dat je daar sowieso meer / makkelijker mee kan werken dan met glob. Kijk maar eens naar wat links op die pagina's over opendir en de dir class.
Heeft iemand anders noch experience met dit gebeure? ^^
?
Onbekende gebruiker
01-09-2009 19:53
Owja, ik ga je het nu dus nog niet zo helemaal uitleggen omdat ik denk dat je met php.net d'r wel uit moet komen. Er staat daar genoeg informatie waarvan je kunt leren ;-).
<?php
$files = glob($dirname."*.*");
$ignore = Array(".", "..");
foreach($files as $thisfile) {
if(!in_array($thisfile, $ignore)) {
// Alles wat moet werken zodra er files in de dir zijn komt hier...
}
}
?>
Heb voor mijn probleem een andere optie gevonden:
I.p.v de '*.*' heb ik 'prefix_*.*' gebruikt, en nu werkt 't ook...
Bedankt voor je hulp :)
Greetz, Mike
?
Onbekende gebruiker
01-09-2009 20:18
Yep kan ook.
?
Onbekende gebruiker
01-09-2009 21:40
Of:
<?php
$iterator = new DirectoryIterator('./'); // huidige map
$filesInMap = 0;
foreach ($iterator as $file) {
if (!$file>isDot()) {
$filesInMap++;
}
}
echo 'Files in map: ' . $filesInMap;