PHP中使用glob递归是一个很方便的事情,如下:
PHP代码
- function read ( $dirname )
 - {
 - static $dInfo;
 - $dirname .= subStr( $dirname, -1 ) == "/" ? "" : "/";
 - $dirInfo = glob( $dirname . "*" );
 - foreach ( $dirInfo as $info ){
 - $dInfo[] = $info;
 - if ( is_dir( $info ) ){
 - if ( !is_readable( $info ) ){
 - chmod( $info, 0777 );
 - }
 - read( $info );
 - }
 - }
 - return $dInfo;
 - }
 
PHP代码
- function read ( $dirname )
 - {
 - static $dInfo;
 - $d = dir( $dirname );
 - if ( $d ){
 - while ( false !== ($entry = $d->read() ) ){
 - if( $entry != '.' && $entry != '..' ){
 - $entry = $dirname . '/' . $entry ;
 - $dInfo[] = $entry ;
 - if( is_dir( $entry )){
 - if ( !is_readable( $entry ) ){
 - chmod( $entry, 0777 );
 - }
 - //$timeInfo[] = filemtime( $entry );
 - read( $entry );
 - }
 - }
 - }
 - }
 - return $dInfo;
 - }
 
在linux下面,目录名可以为".aa",最典型的例子就是svn目录,svn目录里大量的".svn"的目录,好象,在linux下面,这样以"."开头的目录,默认是隐藏目录,不显示的。
所以,在使用glob的时候,这样的目录是认不出来的。这点要千万注意
做个笔记。

