Nom |
Taille |
|
function format_size($value) {
$string = "";
// 1 Mo = 1000000 octet
// 1 Ko = 1000 octet
if (ereg("^[0-9]{1,}$", $value)) {
if ($value>=1000000) {
$string = sprintf('%01.2f', $value/1000000); $string = ereg_replace("[.]{1}[0]{1,}$", "", $string) . ' | Mo | ';
} else if ($value>=1000) {
$string = sprintf('%01.2f', $value/1000); $string = ereg_replace("[.]{1}[0]{1,}$", "", $string) . ' | Ko | ';
} else if ($value>=0) {
$string = '' . $value . ' | octet'; if ($value>0) $string .= "s"; $string .= ' | ';
} else {
$string = '' . $value . ' | ';
}
} else {
$string = $value;
}
return $string;
}
function DirSize($path , $recursive = TRUE) {
$result = 0;
if(!is_dir($path) || !is_readable($path))
return 0;
$fd = dir($path);
while($file = $fd->read()) {
if(($file != ".") && ($file != "..")) {
if(@is_dir("$path$file/"))
$result += $recursive ? DirSize("$path$file/") : 0;
else
$result += filesize("$path$file");
}
}
$fd->close();
return $result;
}
function ListAndSize($path) {
$size = 0;
$fd = dir($path);
while($file = $fd->read()) {
if(($file != ".") && ($file != "..")) {
if(@is_dir("$path$file/")) {
$dirsize = DirSize("$path$file/");
$size += $dirsize;
echo '
' . $file . ' |
' . format_size($dirsize) . '
';
} else {
$filesize = filesize("$path$file");
$size += $filesize;
echo '
' . $file . ' |
' . format_size($filesize) . '
';
}
}
}
$fd->close();
echo '
|
Total |
' . format_size($size) .'
';