php中遍歷目錄下文件函數有不少,下面本文章就來介紹dir(),readdir()函數遍歷目錄的例子,希望這些例子能給各位朋友帶來幫助哦.
方法一:使用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 />'; //開源軟件:Vevb.com
- 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');
新聞熱點
疑難解答