Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] pokazujacy wielkość katalogu
Forum PHP.pl > Forum > Gotowe rozwiązania
lukaszkowalewski
Witam:) Poszukuje skrypt do folio by pokazywał obok linka projektu pokazywanego jaką wielkośc danego on zajmuje:) Nie znam jeszcze dobrze php, wiec nie potrafię napisać jeszcze skryptu wyświetlajacy wielkość katalogu w kb. wiec jeśli mozecie mi pomoc to będę bardzo wdzięczny.
Bakus
[php:1:6bc516c19b]<?php
function przelicz($dir, &$rozmiar)
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if($file != '.' && $file != '..')
{
if(is_dir($dir . $file . ''))
{
przelicz($dir . $file . '', $rozmiar);
}else{
$rozmiar += filesize($dir . $file);
}
}
}
closedir($dh);
}
}
/* Parametry:
pierwszy - katalog jakiego ma zostać zwrócony rozmiar (MUSI kończyć się ukośnikiem!)
drugi - zmienna do której ma zostać przypisana wielkość folderu w bajtach.
*/
przelicz("U:andrzej", $r);
print $r;

// jeżeli chcesz by rozmiar był w kb wykonaj:
print $r/1024;
?>[/php:1:6bc516c19b]
lukaszkowalewski
Bakus czy ten kod jest już gotowy do wstawienia na stronę, czy należy jeszcze go jakoś modyfikować?questionmark.gif
Majdan
Cytat
Bakus czy ten kod jest już gotowy do wstawienia na stronę, czy należy jeszcze go jakoś modyfikować?questionmark.gif
Dziwne pytanie. Wstaw i zobacz, czy trzeba coś modyfikować. :wink:
Bakus
Kod funkcji jest gotowy i nie wymaga zmian...
Jedyne co trzeba zmienić to wywołanie funkcji...
n1k3r
witam;

Wstawiłem ten kod do index.php , uruchomiłem i pokazuje mi fałszywe dane (ustawiając oczywiście katalog, rozmiar) ;

Pozdrawiam;
shima
Cytat
witam;

Wstawiłem ten kod do index.php , uruchomiłem i pokazuje mi fałszywe dane (ustawiając oczywiście katalog, rozmiar) ;

Pozdrawiam;


A masz w nim podkatalogi? Jeżeli tak, to musisz zastosować wywołania rekurencyjne.
Bakus
@shima: Chyba nie przeglądałaś mojego kodu... stusuje rekurencje...

Co do poprawnych danych - na jakiej podstawie tak twierdzisz questionmark.gif
Liczysz miejsce na dysku, czy rozmiar rzeczywisty questionmark.gif
Poza tym jak przeliczasz B na KB ?

Niestety to wszystko jest istotne... :?
lukaszkowalewski
BAKUS a jak mam wpisać nazwę katalogu, jeśli mam taki układ katalogów "projekty/firmaabc". i jeszcze co trzeba zrobić by wyświetlała się tylko wielkość w taki sposób -> np: zobacz>> [341,39 kB] questionmark.gif jak nalezy zmienić klod by wyświetlał w taki sposób?? proszę o pomoc:)[/b]
Bakus
[php:1:7057707f7e]<?php
function przelicz($dir, &$rozmiar)
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if($file != '.' && $file != '..')
{
if(is_dir($dir . $file . ''))
{
przelicz($dir . $file . '', $rozmiar);
}else{
$rozmiar += filesize($dir . $file);
}
}
}
closedir($dh);
}
}

function przelicz($katalog)
{
przelicz($katalog, $r);
print $r / 1024;
}

przelicz("./projekty/firmaab/");
?>[/php:1:7057707f7e]
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-2024 Invision Power Services, Inc.