微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)   ***/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐