ugrás a tartalomhoz

Egy könyvtár tartalmának a mérete PHP-ben

mpdt · 2007. Aug. 18. (Szo), 17.28
Szevasztok !

Újabb kérdésem lenne :) Van a szerveremen egy könyvtár ahova a képeket töltögetem fel. Azt szeretném megtudni ,hogy hogyan lehet azt megoldani ,hogy annak a könyvtárnak a méretét megtudjam vagyis php-ben kiíródjon ,hogy nem tudom hány KB hány MB vagy GB .

Lehet ,hogy ilyen kérdés sok volt, de akkor szerintem rosszul kerestem .

Előrre is THX

Üdv :
Benve
 
1

filesize

Ronyn · 2007. Aug. 18. (Szo), 17.49
Például megnyitod a mappát(opendir),bejárod a mappát(readdir),és osszeadod a fájlok méreteit(filesize)...
2

megpróbálom ...

mpdt · 2007. Aug. 18. (Szo), 18.21
megpróbálom :)
3

Megis vonlnák !

mpdt · 2007. Aug. 18. (Szo), 19.03
Megis volnák !

Már csak egy gondom van :) Azt hogyan lehetne megoldnai ,hogy egyszerre több könyvtárat is kilistázzon ? array-ra gondoltam de az nekem nem jött össze :S
  1. <?  
  2.   
  3. function total_size($dir) {  
  4. $handle = opendir($dir);  
  5. while($file = readdir($handle)) {  
  6. $total = $total + filesize ($dir.$file);  
  7.   if((is_dir($dir.$file.'/')) &&($file != '..')&&($file != '.'))  
  8.   {  
  9.   $total = $total + total_size($dir.$file.'/');  
  10.   }  
  11. }  
  12. return $total;  
  13. }  
  14.   
  15.   
  16. $total = total_size('www2/');  
  17. $total = $total / 1048576;  
  18. $total = round($total,0);  
  19. echo "A www2 könyvtár mérete : <B>" . $total." MB</B>";  
  20.   
  21. ?>  
4

...

Ronyn · 2007. Aug. 18. (Szo), 21.55
Ha az adott konyvtár alkonyvtárairol van szo,akkor rekurziv fuggvényt kell belőle csinálni,ha nem akkor lehet lista,vagy tomb alapján...
5

. .

mpdt · 2007. Aug. 18. (Szo), 23.39
Szia !

Még egy kérdésem lenne .. Azt hogyan lehetne megoldani ,hogy ne egész számot mutasson így : 5 MB hanem mondjuk ha a mappa eredeti mérete 5.2 MB akkor bontsa fel 5.2 MB -re és ne csak 5 MB-t mutasson.

Mert így sajnos csak egész számot mutat :S

Üdv :

Bence
6

Te kerekíted

Török Gábor · 2007. Aug. 19. (V), 09.06
Te vágod le a tizedeseket:
  1. $total = round($total,0);  
Kerekíts két tizedesre akkor:
  1. $total = round($total,2);  
7

Ér ...

mpdt · 2007. Aug. 19. (V), 18.16
Szia

Értem, köszönöm !