01.
<?php
02.
03.
function
foldersize(
$path
)
04.
{
05.
$size
= 0;
06.
if
(
$dir
= @opendir(
$path
)) {
07.
while
((
$file
= readdir(
$dir
)) !== false ) {
08.
if
(
is_dir
(
"$path/$file"
) &&
$file
!=
'.'
&&
$file
!=
'..'
) {
09.
$size
+= foldersize(
"$path/$file"
);
10.
}
11.
if
(
is_file
(
"$path/$file"
)) {
12.
$size
+=
filesize
(
"$path/$file"
);
13.
}
14.
}
15.
closedir
(
$dir
);
16.
}
17.
return
$size
;
18.
}
19.
20.
$sizes
[
'files'
] = 0;
21.
if
(
$dir
= @opendir(
'.'
)) {
22.
while
((
$file
= readdir(
$dir
)) !== false ) {
23.
if
(
is_dir
(
"$file"
) &&
$file
!=
'.'
&&
$file
!=
'..'
) {
24.
$sizes
[
$file
] = foldersize(
"$file"
);
25.
}
26.
if
(
is_file
(
"$file"
)) {
27.
$sizes
[
'files'
] +=
filesize
(
"$file"
);
28.
}
29.
}
30.
closedir
(
$dir
);
31.
}
32.
33.
$totsize
= 0;
34.
foreach
(
$sizes
as
$fsize
) {
35.
$totsize
+=
$fsize
;
36.
}
37.
38.
echo
"<table>"
;
39.
foreach
(
$sizes
as
$key
=>
$size
) {
40.
$perc
= 100 *
$size
/
$totsize
;
41.
$width
= 4 *
$perc
;
42.
$percstr
= number_format(
$perc
, 1 ) .
'%'
;
43.
$sizestr
= number_format(
$size
);
44.
printf(
'<tr><td>%s</td><td align="right">%s</td><td><img src="red_dot.gif" width="%s" '
.
45.
'height="10" border="0" alt="%s"> %s</td>'
,
$key
,
$sizestr
,
$width
,
$percstr
,
$percstr
);
46.
}
47.
echo
"</table>"
;
48.
?>