分享一個 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"; ?>