方法一:使用dir()遍曆目錄
dir()函數,成功時返回Directory類執行個體
PHP dir() 文法格式為:
dir(directory);//directory為需要顯示檔案名稱的目錄名稱,可包含路徑資訊
PHP dir() 用法舉例:列出upload目錄下的所有檔案名稱:
代碼如下 |
|
<?php $dir = @ dir("upload");//開啟upload目錄;“@”可屏蔽錯誤資訊,因有時候需要顯示檔案的目錄內並沒有檔案,此時可能會報出錯誤,用“@”隱藏掉錯誤 //列舉upload目錄中的所有檔案 while (($file = $dir->read()) !== false) { echo "檔案名稱: " . $file . "<br />"; } $dir->close(); ?> |
輸出結果為:
檔案名稱: .
檔案名稱: ..
檔案名稱: logo.gif
檔案名稱: arrow.gif
檔案名稱: bg.gif
例子
代碼如下 |
|
function tree($dir) { $mydir = dir($dir); while($file = $mydir->read()) { if($file != '.' && $file != '..') { if(is_dir("$dir/$file")) { echo '目錄名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />'; tree("$dir/$file"); }else{ echo '檔案名稱:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />'; } } } $mydir->close(); } tree('./phpmyadmin'); |
方法二 使用readir()遍曆目錄
定義和用法
readdir() 函數返回由 opendir() 開啟的目錄控制代碼中的條目。
若成功,則該函數返回一個檔案名稱,否則返回 false。
文法
readdir(dir_stream)
例子
代碼如下 |
|
header('content-type:text/html;charset=utf-8'); function listDir($dir) { if(is_dir($dir)) { if($handle = opendir($dir)) { while($file = readdir($handle)) { if($file != '.' && $file != '..') { if(is_dir($dir.DIRECTORY_SEPARATOR.$file)) { echo '目錄名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />'; listDir($dir.DIRECTORY_SEPARATOR.$file); }else{ echo '檔案名稱:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />'; } } } } closedir($handle); }else{ echo '非有效目錄!'; } } listDir('./phpmyadmin'); |