分享一个 PHP遍历目录并返回统计目录大小的方法。
代码:
<?php
$dirname = "test1";
//mkdir($dirname); //遍历一层目录
function listdir($dirname) {
$ds = opendir($dirname);
while($file = readdir($ds)) {
$path = $dirname.'/'.$file;
if(is_dir($file)) {
echo "DIR:".$file."<br>";
if($file != "." && $file != "..") {
listdir($file);
}
}
else {
echo "FILE:".$file . "<br>";
}
}
} function totdir($dirname) { //对listdir稍加修改
static $tot = 0;
$ds = opendir($dirname);
while($file = readdir($ds)) {
$path = $dirname.'/'.$file;
if(is_dir($file)) {
//echo "DIR:".$file."<br>";
if($file != "." && $file != "..") {
$tot += totdir($file);
}
} www.jbxue.com
else {
//echo "FILE:".$file . "<br>";
$tot += filesize($path);
}
} //返回总计
return $tot;
} listdir($dirname); echo totdir($dirname)." bytes"; ?>