login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > [php] dirSize functie

[php] dirSize functie

Auteur: Stijn - 10 februari 2007 - 00:42 - Gekeurd door: Rens - Hits: 5008 - Aantal punten: 4.10 (5 stemmen)



Als je de grote van een map wilt weten (inclusief sub mappen!!!) dan kan je die functie gebruiken.

dirSize('./map/');

Let op dat je een '/' - teken na je map zet!

Hij returnt standaard in bytes maar met een eenvoudige bewerking kan je die omzetten in Kb , MB , GB , ...

kB: de return delen door 1024
MB: de return delen door 1024*1024
....

dirSize('./map/') / (1024*1024) == de grote van de map in MB.

Code:
  1. <?php
  2. function dirSize( $dir , $size = 0 )
  3. {
  4.  
  5. if( is_dir($dir) === false ) {
  6. return false;
  7. }
  8.  
  9. //het is een map dus openen en de files tellen
  10. $rDir = opendir($dir);
  11. while( ($file = readdir($rDir)) !== false ) {
  12.  
  13. if( $file != '.' && $file != '..') {
  14.  
  15. if( is_dir($dir . $file) === true ) {
  16. dirSize( $dir . $file . '/' , &$size );
  17. } else {
  18. $size += filesize($dir . $file);
  19. }
  20.  
  21. }
  22.  
  23. }
  24.  
  25. closedir($rDir);
  26.  
  27. return $size;
  28.  
  29. }
  30.  
  31. ### VOORBEELD ###
  32. echo dirSize('./rudy/') . ' bytes';
  33. echo dirSize('./rudy/') / 1048576 . 'Megabytes';
  34. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.017s