jak moglebym sprawdzic wielkosc katalogu? (filesize???)
i jak mozna by bylo sprawdzic ile plikow (np. ile zip, exe itp) jest w danym katalogu (lub jesli katalog ma jeszcze w sobie inne podkatalogi) ??
pozdrawiam
wielkosc katalogu
-
Wojciech Jurewicz
- Przelotem

- Posty: 274
- Rejestracja: wt lip 22, 2003 11:29 pm
- Lokalizacja: Mazury
- Kontakt:
Re: wielkosc katalogu
Aby zbadac rozmiar, zsumuj rozmiary plików w danym katalogu. Aby wybrać konkretne pliki, również pobierz wszystkie, a następnie zprzy pomocy wyrażeń regularnych sprawdź czy o takie rozszeżenie ci chodzi. Aby pobrac pliki z danego katalogu i podkatalogów wykożystaj:
[php]<?php
function tree( $dirPath ) {
$dirDP = opendir( $dirPath );
while( $element = readdir( $dirDP ) ) {
if ($element!='.' and $element!='..') {
if ( is_file( $dirPath . "/" . $element ) ) {
$pliki[] = ( $dirPath . "/" . $element );
} else {
tree( $dirPath . "/" . $element );
}
}
}
closedir($dirDP);
rmdir( $dirPath );
}
?>[/php]
[php]<?php
function tree( $dirPath ) {
$dirDP = opendir( $dirPath );
while( $element = readdir( $dirDP ) ) {
if ($element!='.' and $element!='..') {
if ( is_file( $dirPath . "/" . $element ) ) {
$pliki[] = ( $dirPath . "/" . $element );
} else {
tree( $dirPath . "/" . $element );
}
}
}
closedir($dirDP);
rmdir( $dirPath );
}
?>[/php]
-
Łukasz Świerżewski
- Nowy

- Posty: 82
- Rejestracja: wt paź 22, 2002 4:15 pm
- Lokalizacja: Warszawa
- Kontakt:
Re: wielkosc katalogu
Jeśli nie bardzo rozumiesz podanego przez Wojtka kodu to przeczytaj odpowiedni artykuł dotyczący operacji na katalogach w dziale PHP na WI, a napewno dowiesz się wszytskich niepewności. Jeśli nadal będziesz miał jakieś wątpliwości to też pisz na forum.
Re: wielkosc katalogu
chyba dalej troszku tego nie rozumie 
jak mam je zsumowac i jaka komenda zliczy mi ich wielkosc.
sorki ale po zawodowce jestem

jak mam je zsumowac i jaka komenda zliczy mi ich wielkosc.
sorki ale po zawodowce jestem
-
Łukasz Świerżewski
- Nowy

- Posty: 82
- Rejestracja: wt paź 22, 2002 4:15 pm
- Lokalizacja: Warszawa
- Kontakt:
Re: wielkosc katalogu
Udoskonale nieco funkcję podaną przez Wojtka tak, aby zwracała ona tablice która zawiera wszystkie nazwy plików, a nastepnie osobnym kodem zliczymy wilkosc kazdego pliku:
[php]<?php
function tree( $dirPath ) {
$dirDP = opendir( $dirPath );
while( $element = readdir( $dirDP ) ) {
if ($element!='.' and $element!='..') {
if ( is_file( $dirPath . "/" . $element ) ) {
$pliki[] = ( $dirPath . "/" . $element );
} else {
tree( $dirPath . "/" . $element );
}
}
}
closedir($dirDP);
rmdir( $dirPath );
return $pliki;
}
?>[/php]
Teraz zapomocą krótkiego kodu zliczymy wilkość całego katalogu sumując wielkośc wsyztskich plików:
[php]<?php
$pliki = tree('katalog');
$wlk = 0;
$ile_zip = 0;
for ($i=0; $i < count ($pliki); $i++) {
$wlk += filesize($pliki[$i]);
if (eregi("^.\.zip$", $pliki[$i])) $ile_zip++;
}
print "Wielkość katalogu wynosi <b>$wlk</b><br>\n
W katalogu znajduje się <b>$ile_zip</b> plików ZIP\n";
?>[/php]
Przy okazji pokazałem Ci na jakiej zasadzie można sprawdzić liczbę plików ZIP wykorzystując wzorce wyrażeń regularnych. Mam nadzieje, że teraz wszstko już wiesz. Jeśli nie to pisz dalej co Cię jeszcze interesuje.
[php]<?php
function tree( $dirPath ) {
$dirDP = opendir( $dirPath );
while( $element = readdir( $dirDP ) ) {
if ($element!='.' and $element!='..') {
if ( is_file( $dirPath . "/" . $element ) ) {
$pliki[] = ( $dirPath . "/" . $element );
} else {
tree( $dirPath . "/" . $element );
}
}
}
closedir($dirDP);
rmdir( $dirPath );
return $pliki;
}
?>[/php]
Teraz zapomocą krótkiego kodu zliczymy wilkość całego katalogu sumując wielkośc wsyztskich plików:
[php]<?php
$pliki = tree('katalog');
$wlk = 0;
$ile_zip = 0;
for ($i=0; $i < count ($pliki); $i++) {
$wlk += filesize($pliki[$i]);
if (eregi("^.\.zip$", $pliki[$i])) $ile_zip++;
}
print "Wielkość katalogu wynosi <b>$wlk</b><br>\n
W katalogu znajduje się <b>$ile_zip</b> plików ZIP\n";
?>[/php]
Przy okazji pokazałem Ci na jakiej zasadzie można sprawdzić liczbę plików ZIP wykorzystując wzorce wyrażeń regularnych. Mam nadzieje, że teraz wszstko już wiesz. Jeśli nie to pisz dalej co Cię jeszcze interesuje.