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>' ; ?>查看更多关于php读出目录下的所有目录及子目录下文件 - php文的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27826