復制代碼 代碼如下:
<?php
//功能:遍歷並打印指定目錄下所有文件
function scan_dir($dir_name,$dir_flag=1) {
static $FILE_COUNT=1; //記錄文件數目 初值為1 目錄名稱不記
$FILE_COUNT--; //每調用一次scan_dir()函數自減1
@$dir_handle=opendir($dir_name); //抑制錯誤信息顯示 便於自定義錯誤顯示
if(!$dir_handle)
die("目錄打開錯誤!");
while(false!==($filename=readdir($dir_handle))) //文件名為‘0'時,readdir返回 FALSE,判斷返回值是否不全等
{
$flag=$dir_flag; //古怪的 is_dir($filename) ! $filename這個路徑必須能夠尋到!當$filename不存在或者不是目錄時返回false
if($filename!='.'&&$filename!='..')
{
$FILE_COUNT++; //不記錄當前路徑和上一級路徑
while($flag>0&&--$flag) //負數仍為真
echo ' ';
if(is_dir($dir_name.$filename)) //判斷 是否為一個目錄
{
echo '<strong>'."<a href=".$dir_name.$filename.">".$filename."</a></strong><br>";
scan_dir($dir_name.$filename.'/',$dir_flag+1); //$dir_flag標志目錄樹層次
}
else
{
echo "<a href=".$dir_name.$filename.">".$filename."</a><br>";
}
}
}
closedir($dir_handle); //關閉目錄句柄
echo "文件總數:".$FILE_COUNT.'<br>';
}
scan_dir('D:\wamp\www\test\lamp61'); //指定的文件路徑
?>