一个利用php读出目录下的所有目录及子目录下文件的代码,很简单方便的第一个就是读取一级目录,后面可以无限目录读取有需要的同学可以参考一下。
代码如下 |
复制代码 |
<?php $dirname=@opendir("abc")or die("打开目录不成功<br>"); readdir($dirname)."<br>"; readdir($dirname)."<br>"; while(($filess=readdir($dirname))!=false) { if(is_dir("abc/".$filess)) { echo "目录:".$filess."<br>"; } else { echo "文件:".$filess."<br>"; } } closedir($dirname); ?> |
只能读出html文件名,读不出abc目录下的目录名,下面我们再看一实例
代码如下 |
复制代码 |
<?php /* * 递归获取指定路径下的所有文件或匹配指定正则的文件(不包括“.”和“..”),结果以数组形式返回 * @param string $dir * @param string [$pattern] * @return array */ function file_list($dir,$pattern="") { $arr=array(); $dir_handle=opendir($dir); if($dir_handle) { // 这里必须严格比较,因为返回的文件名可能是“0” while(($file=readdir($dir_handle))!==false) { if($file==='.' || $file==='..') { continue; } $tmp=realpath($dir.'/'.$file); if(is_dir($tmp)) { $retArr=file_list($tmp,$pattern); if(!emptyempty($retArr)) { $arr[]=$retArr; } } else { if($pattern==="" || preg_match($pattern,$tmp)) { $arr[]=$tmp; } } } closedir($dir_handle); } return $arr; } // 列出网站根目录下所有以".php"扩展名(不区分大小写)结尾的文件 echo '<pre>'; print_r(file_list($_SERVER['DOCUMENT_ROOT'],"//.php$/i")); echo '</pre>'; ?> 这个就可以方便的无限目录遍历了。 |
永久地址:http://www.phprm.com/code/40652.html
转载随意~请带上教程地址吧^^