Bestanden tellen in mappen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Steven dirickx

steven dirickx

17/01/2013 12:58:50
Quote Anchor link
Hallo,

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.
 
PHP hulp

PHP hulp

28/03/2024 17:13:54
 
Ward van der Put
Moderator

Ward van der Put

17/01/2013 13:01:41
Quote Anchor link
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/
 
Steven dirickx

steven dirickx

17/01/2013 13:16:56
Quote Anchor link
Ward van der Put op 17/01/2013 13:01:41:
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
 
Ward van der Put
Moderator

Ward van der Put

17/01/2013 14:02:51
Quote Anchor link
Bestanden en directory's zijn beide "nodes", dus je kunt directory's met glob() recursief lezen. Andere overweging is dat bij FTP-uploads bestaande bestanden kunnen worden vervangen en dan zijn datums en tijden misschien belangrijker dan aantallen. Zo krijg je een complete listing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 . '/*');
        }
    }
}

?>
Dit kun je uitbreiden met tellers of andere controles die je wilt uitvoeren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.