php读出目录下的所有目录及子目录下文件
一个利用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/wenjian/fs4125.html
收藏随意^^请保留教程地址.