<?php
if(!isset($rootdir)) {
print "<form action=$PHP_SELF method=\"POST\">"; print "<br><h2>输入欲查询目录名:</h2>"; print "<input type=text name=rootdir value=\"c:/wwwpub\">"; print "<input type=submit value=\"确定\">"; print "</form>"; exit;
}
$spacenum=0; //文件列表退格计数 $filenum=0; $allfilesize=0; $subdirnum=0;
echo "<font color=blue>$rootdir</font><br>"; myreaddir($rootdir); echo "<br><br>共计子目录数:".$subdirnum."<br>"; echo "共计文件数:".$filenum."<br>";
echo "占用磁盘空间:$allfilesize<br>"; $freespace=diskfreespace("/");
echo "磁盘剩余空间:$freespace<br>"; echo "<center><a href=\"$PHP_SELF\">返回</a></center>";
function myreaddir($subdir) //目录遍历
{
global $rootdir,$spacenum,$filenum,$subdirnum,$allfilesize;
@chdir($subdir) or die ("error:could not change to this directory!"); $space=chspacenum(); //取得文件列表前导空格字串 $dirobject=dir($subdir);
while ($file=$dirobject->read()) {
if(is_dir($file)) //如果是一个目录名,则。。。
{
if($file=="." or $file=="..") //"."和".."作为文件显示,但不参于计数
{
echo $space.$file."<br>";
continue;
}
echo $space."<font color=blue>[".$file."]</font>"."<br>"; $subdirnum++;
$spacenum++; //增加前导空格计数
myreaddir($subdir."/".$file); //关键的递归调用,进入子目录
$spacenum--;
continue;
}
echo $space.$file."<br>";
$allfilesize+=filesize($file);
$filenum++;
} if($subdir!=$rootdir) chdir("..");
return; }
function chspacenum() //生成文件列表前导空格字串 {
global $spacenum;
$space="| "; for ($i=0;$i<$spacenum;$i++) {
$space.="| ";
} return $space; }
?>
|
|