天天看點

php 周遊顯示檔案夾下所有目錄、所有檔案的函數

前幾天去面試,這是面試的一道題,很簡單,但是我忘記具體的函數的使用了,特此記錄一下,增強下記憶

一個簡單的目錄遞歸函數 第一種實作辦法:用dir傳回對象 第二種實作辦法:用readdir()函數<pre> 

<?php 
/********************** 
一個簡單的目錄遞歸函數 
第一種實作辦法:用dir傳回對象 
***********************/ 
function tree($directory) 
{ 
$mydir=dir($directory); 
echo "<ul>\n"; 
while($file=$mydir->read()){ 
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) 
{echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; 
tree("$directory/$file"); 
} 
else 
echo "<li>$file</li>\n"; 
} 
echo "</ul>\n"; 
$mydir->close(); 
} 
//開始運作 
echo "<h2>目錄為粉紅色</h2><br>\n"; 
tree("F:/"); 
/*********************** 
第二種實作辦法:用readdir()函數 
************************/ 
function listDir($dir){ 
if(is_dir($dir)){ 
if ($dh = opendir($dir)) { 
while (($file= readdir($dh)) !== false){ 
if((is_dir($dir."/".$file)) && $file!="." && $file!=".."){ 
echo "<b><font color='red'>檔案名:</font></b>",$file,"<br><hr>"; 
listDir($dir."/".$file."/"); 
}else{ 
if($file!="." && $file!=".."){ 
echo $file."<br>"; 
} 
} 
} 
closedir($dh); 
} 
} 
} 
//開始運作 
listDir(E:/常用軟體備份/); 
?> 
</pre>