PHP 遍历目录和文件功能实例

PHP遍历目录和文件列表感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
对于PHP遍历目录和文件列表,下面写了一个简单的类,并附上使用实例,如有所疏漏及错误,请大家指点!

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/
define('DS',DIRECTORY_SEParaTOR);  
class getDirFile{  
	//返回数组  
	private $DirArray  = array();  
	private $FileArray = array();  
	private $DirFileArray = array();  
	private $Handle,$Dir,$File;  
	//获取目录列表  
	public function getDir( & $Dir ){  
		if( is_dir($Dir) ){  
			if( false != ($Handle = opendir($Dir)) ){  
				while( false != ($File = readdir($Handle)) ){  
					if( $File!='.' && $File!='..' && !strpos($File,'.') ){  
						$DirArray[] = $File;  
					}  
				}  
				closedir( $Handle );  
			}  
		}else{  
			$DirArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
		}  
		return $DirArray;  
	}  
	//获取文件列表  
	public function getFile( & $Dir ){  
		if( is_dir($Dir) ){  
			if( false != ($Handle = opendir($Dir)) ) {  
				while( false != ($File = readdir($Handle)) ){  
					if( $File!='.' && $File!='..' && strpos($File,'.') ){  
						$FileArray[] = $File;  
					}  
				}  
				closedir( $Handle );  
			}  
		}else{  
			$FileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
		}  
		return $FileArray;  
	}  
	//获取目录/文件列表  
	public function getDirFile( & $Dir ){  
		if( is_dir($Dir) ){  
			$DirFileArray['DirList'] = $this->getDir( $Dir );  
			if( $DirFileArray ){  
				foreach( $DirFileArray['DirList'] as $Handle ){  
					$File = $Dir.DS.$Handle;  
					$DirFileArray['FileList'][$Handle] = $this->getFile( $File );  
				}  
			}  
		}else{  
			$DirFileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
		}  
		return $DirFileArray;  
	}  
}  
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
实例:(相对路径或绝对路径)
1.获取目录列表

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/ 
$Dir_dir  = './example';  
$getDirFile = new getDirFile();  
$getDir = $getDirFile->getDir( $Dir_dir );  
print_r($getDir);  
显示:
[html] view plaincopy
Array  
(  
	[0] => example_one  
	[1] => example_two  
) 
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
2.获取文件列表

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/
$File_one_dir = './example/example_one';  
$File_two_dir = 'E:/Workspace/mycode/getDirFile/example/example_two';  
$getDirFile = new getDirFile();  
$getFile_one = $getDirFile->getFile( $File_one_dir );  
$getFile_two = $getDirFile->getFile( $File_two_dir );  
print_r($getFile_one);  
print_r($getFile_two);  

/***   来自编程之家 jb51.cc(jb51.cc)   ***/
显示

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/
            Array  
            (  
                [0] => example.sql  
                [1] => example.txt  
            )  
            Array  
            (  
                [0] => example.PHP  
            ) 
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
3.获取目录/文件列表

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/
$Dir_dir  = './example';  
$getDirFile = new getDirFile();  
$getDirFile  = $getDirFile->getDirFile( $Dir_dir );  
print_r($getDirFile);   
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
显示

/**
 * PHP遍历目录和文件列表
 *
 * @param 
 * @arrange 网: 512Pic.com
 **/
Array  
(  
	[DirList] => Array  
		(  
			[0] => example_one  
			[1] => example_two  
		)  
	[FileList] => Array  
		(  
			[example_one] => Array  
				(  
					[0] => example.sql  
					[1] => example.txt  
				)  
			[example_two] => Array  
				(  
					[0] => example.PHP  
				)  
		)  
)  
/***   来自编程之家 jb51.cc(jb51.cc)   ***/

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...