[PHP] Count Files in Directory

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mike

Mike

01/09/2009 19:29:00
Quote Anchor link
Beste PHP-ers,

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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 ;)
 
PHP hulp

PHP hulp

06/11/2024 00:28:42
 

01/09/2009 19:37:00
Quote Anchor link
Persoonlijk maak ik liever gebruik van de class.dir. Dat is een soort van alias gedoe voor opendir. 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.
 
Mike

Mike

01/09/2009 19:50:00
Quote Anchor link
Yep zal ik ff checke :D

Bedankt.


Heeft iemand anders noch experience met dit gebeure? ^^
 

01/09/2009 19:53:00
Quote Anchor link
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 ;-).
 
Mike

Mike

01/09/2009 20:17:00
Quote Anchor link
Zoiets kan ook...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
I.p.v de '*.*' heb ik 'prefix_*.*' gebruikt, en nu werkt 't ook...



Bedankt voor je hulp :)


Greetz, Mike
 

01/09/2009 20:18:00
Quote Anchor link
Yep kan ook.
 
GaMer B

GaMer B

01/09/2009 21:40:00
Quote Anchor link
Of:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$iterator
= new DirectoryIterator('./'); // huidige map
$filesInMap = 0;
foreach ($iterator as $file) {
    if (!$file>isDot()) {
        $filesInMap++;
    }
}

echo 'Files in map: ' . $filesInMap;[/code]
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Willem vp

Willem vp

01/09/2009 22:30:00
Quote Anchor link
Misschien ook nog met is_file() kijken of het een file is en geen directory?
 
Rens nvt

Rens nvt

02/09/2009 01:01:00
Quote Anchor link
Of het scriptje van GaMer13 aanpassen zodat er geen directories worden meegenomen... Regel 5 wordt dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if ($fileinfo->isFile()) {
?>
 
Citroen Anoniem Graag

Citroen Anoniem Graag

02/09/2009 01:26:00
Quote Anchor link
Waar komt dat object $fileinfo vandaan? moet dat niet gewoon $file zijn?

dus
$file->isFile() ?
 
Rens nvt

Rens nvt

02/09/2009 01:43:00
Quote Anchor link
Citroen schreef op 02.09.2009 01:26:
Waar komt dat object $fileinfo vandaan? moet dat niet gewoon $file zijn?

dus
$file->isFile() ?

=== true ;-)
 
GaMer B

GaMer B

02/09/2009 16:04:00
Quote Anchor link
Jah, had het direct van PHP.net gekopieerd... had alleen dat aangepast.
 
Mike

Mike

11/09/2009 12:36:00
Quote Anchor link
THANK YOU FOR YA KIND ASSISTANCE :D

Sorry komt een beetje laat, maar was een tijd meer met me vriendin bezig dan met proggen :P

Nogmaals bedankt voor jullie hulp ;)


Greetz, Mike
 



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.