PHP采用自定義函數(shù)實(shí)現(xiàn)遍歷目錄下所有文件的方法
目錄的遍歷是PHP程序設(shè)計(jì)中經(jīng)常會(huì)用到的一個(gè)功能,很多PHP項(xiàng)目都有這一功能模塊。今天本文就來實(shí)例解析一下PHP采用自定義函數(shù)實(shí)現(xiàn)遍歷目錄下所有文件的方法。具體方法如下:
方法一:使用readir()遍歷目錄
實(shí)現(xiàn)代碼如下:
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');
方法二:使用dir()遍歷目錄
本例采用dir()函數(shù)遍歷,執(zhí)行成功時(shí)返回Directory類實(shí)例
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');
除此之外,還有很多實(shí)現(xiàn)目錄遍歷的方法,相信本文所述方法能夠給大家的PHP程序設(shè)計(jì)帶來一定幫助。
相關(guān)文章
php數(shù)組函數(shù)序列之end() - 移動(dòng)數(shù)組內(nèi)部指針到最后一個(gè)元素,并返回該元素的值
end() 函數(shù)將數(shù)組內(nèi)部指針指向最后一個(gè)元素,并返回該元素的值(如果成功)。2011-10-10PHP數(shù)組及條件,循環(huán)語句學(xué)習(xí)
PHP數(shù)組及條件,循環(huán)語句學(xué)習(xí),需要的朋友可以參考下2012-11-11windows下zendframework項(xiàng)目環(huán)境搭建(通過命令行配置)
本文將詳細(xì)介紹windows下通過命令行配置zendframework項(xiàng)目環(huán)境,需要了解的朋友可以參考下2012-12-12Thinkphp中import的幾個(gè)用法詳細(xì)介紹
這篇文章主要介紹了Thinkphp中import的幾個(gè)用法,需要的朋友可以參考下2014-07-07php is_file()和is_dir()用于遍歷目錄時(shí)用法注意事項(xiàng)
遍歷一個(gè)目錄并區(qū)分顯示其中的文件和子目錄文件夾的實(shí)現(xiàn)代碼。2010-03-03php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法分析
這篇文章主要介紹了php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法,結(jié)合具體實(shí)例對(duì)比分析了php針對(duì)多維數(shù)組的遍歷與替換操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-06-06php性能優(yōu)化分析工具XDebug 大型網(wǎng)站調(diào)試工具
大型網(wǎng)站調(diào)試工具之一(php性能優(yōu)化分析工具XDebug) ,開發(fā)php的朋友可以參考下。有助于解決php代碼的多種問題。2011-05-05