好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php读出目录下的所有目录及子目录下文件 - php文

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文的详细内容...

  阅读:73次