Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie wielkości plików na serwerze
Forum PHP.pl > Forum > PHP
jarmiar
Witam,

jak można zrobić skrypt, który zliczałby rozmiar wszystkich plików znajdujących się na serwerze w wybranym katalogu?

proszę o pomoc.
skowron-line
filesize i funkcje operujace na folderach czyli:
opendir readdir closedir
em1X
a nudziło mi się..

  1. <?php
  2. function readFileSizes($cat, & $size)
  3. {
  4. if ($dh = opendir($cat))
  5. {
  6. while (($fp = readdir($dh)) !== false)
  7. {
  8. if ($fp != "." && $fp != ".." && !is_dir($fp))
  9. $size += filesize($fp);
  10. elseif (is_dir($fp))
  11. readFileSizes($fp, $size);
  12. }
  13. }
  14. }
  15.  
  16. $size = 0;
  17. readFileSizes("c:www", $size);
  18.  
  19. print "Rozmiar folderu w bajtach: <strong>$size</strong>";
  20. ?>


mała lekcja rekurencji, nie sprawdzalem, ale powinno dzialac..
mike
Fuj. A nie lepiej tak:
  1. <?php
  2.  
  3. $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('dir'), RecursiveIteratorIterator::SELF_FIRST);
  4. $size = 0;
  5. foreach ($iterator as $fileInfo) {
  6. $size += (int) $fileInfo->getSize();
  7. }
  8.  
  9. echo 'Rozmiar w bajtach to: ' . $size;
  10.  
  11. ?>
tongue.gif

Nie ma sensu tkwić w badziewiastym PHP4.
Iteratory to fajna rzecz.
em1X
siła przyzwyczajeń.. ale przyzekam sie doksztalcic tongue.gif
maryaan
jeszcze mozna tak:
  1. <?php
  2. echo(exec("du -bs | cut -f 1"));
  3. ?>
tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.