Bestanden tellen in mappen
Ik heb een map "uploads" met daarin submappen.
In die submappen worden er bestanden geupload en ik zou moeten weten of er bestanden instaan zonder dat ik dit regelmatig moet checken.
Het aantal submappen kan wijzigen dus dit moet het script zelf kunnen oppikken.
Achter iedere map zou moeten staan of er bestanden inzitten (hoeveel bestanden mag ook maar dit moet niet.)
Ik dacht van het dan gewoon met een cronjob regelmatig te laten lopen en een mail naar me te laten sturen als er bestanden opstonden.
De uploads gebeuren via FTP dus ik kan echter niets in het uploadscript steken.
Weet iemand hoe ik hieraan moet beginnen of weet iemand zo een script staan?
Na enkele uren zoeken heb ik echter nog geen script kunnen vinden.
Alvast bedankt.
Steven dirickx op 17/01/2013 12:58:50:
Na enkele uren zoeken heb ik echter nog geen script kunnen vinden.
http://www.phphulp.nl/php/forum/topic/php-count-files-in-directory/66977/
Ward van der Put op 17/01/2013 13:01:41:
http://www.phphulp.nl/php/forum/topic/php-count-files-in-directory/66977/
Steven dirickx op 17/01/2013 12:58:50:
Na enkele uren zoeken heb ik echter nog geen script kunnen vinden.
http://www.phphulp.nl/php/forum/topic/php-count-files-in-directory/66977/
Dit geeft toch alleen het aantal bestanden weer die bij in de map van het script staan.
Ik zou eigenlijk een overzicht moeten krijgen van de submappen met daarachter een cijfer dat aangeeft hoeveel bestanden erin zitten.
Maar er kunnen submappen bijkomen en afvallen dus het script moet zit zelf kunnen oppikken. In de submappen zelf mag echter geen script staan.
Toevoeging op 17/01/2013 13:33:38:
Ik heb wat aan het zoeken geweest in de functies.
Ik denk dat ik dit moet kunnen oplossen met volgende 2 functies?
scandir
Deze uitlezen en ".", "..", en het bestand laten vallen dan hou in normaal alleen de mappen over.
countDir
Hiermee zou ik dan de aantallen moeten kunnen uitlezen.
Gewijzigd op 17/01/2013 13:19:32 door steven dirickx
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
date_default_timezone_set('Europe/Amsterdam');
echo '<pre>';
globRecursief();
echo '</pre>';
function globRecursief($pattern = '*') {
foreach (glob($pattern) as $node) {
echo $node, ' (', date(DATE_ISO8601, filemtime($node)), ')', PHP_EOL;
if (filetype($node) == 'dir') {
globRecursief($node . '/*');
}
}
}
?>
date_default_timezone_set('Europe/Amsterdam');
echo '<pre>';
globRecursief();
echo '</pre>';
function globRecursief($pattern = '*') {
foreach (glob($pattern) as $node) {
echo $node, ' (', date(DATE_ISO8601, filemtime($node)), ')', PHP_EOL;
if (filetype($node) == 'dir') {
globRecursief($node . '/*');
}
}
}
?>