 php遍历所有文件及文件夹的方法
 php遍历所有文件及文件夹的方法
php遍历所有文件及文件夹的方法
1.方法一:
	view plaincopy to clipboardprint?
	<?   
	$dir="D:";   
	static $dir_list =0;   
	static $file_list =0;   
	function listfile($dir){  
	global $dir_list,$file_list;  
	$d = dir($dir);   
	while ( $entry = $d->read()) {   
	$tem_curnt=$dir."/".$entry;   
	if($entry=="." || $entry=="..") continue;   
	if ( is_dir( $tem_curnt)) {   
	listfile($tem_curnt);  
	echo "文件夹 ".$tem_curnt."<br>";   
	
	$dir_list  ;   
	}   
	elseif ( is_file($tem_curnt)) {   
	echo "文件".$tem_curnt."<BR>";   
	$file_list  ;   
	}   
	}   
	$d->close();   
	}  
	
	listfile($dir);  
	echo "目录数:".$dir_list;  
	echo"<br>";  
	echo"文件数:".$file_list;  
	?>
	<?
	$dir="D:";
	static $dir_list =0;
	static $file_list =0;
	function listfile($dir){
	global $dir_list,$file_list;
	$d = dir($dir);
	while ( $entry = $d->read()) {
	$tem_curnt=$dir."/".$entry;
	if($entry=="." || $entry=="..") continue;
	if ( is_dir( $tem_curnt)) {
	listfile($tem_curnt);
	echo "文件夹 ".$tem_curnt."<br>";
	$dir_list  ;
	}
	elseif ( is_file($tem_curnt)) {
	echo "文件".$tem_curnt."<BR>";
	$file_list  ;
	}
	}
	$d->close();
	}
	listfile($dir);
	echo "目录数:".$dir_list;
	echo"<br>";
	echo"文件数:".$file_list;
	?>
	
	--------------------------------------------------------------------------------
2.方法二:
	view plaincopy to clipboardprint?
	<?php  
	function list_dir($dirpath){  
	if($dirpath[strlen($dirpath)]-1!='/'){  
	$dirpath.="/";  
	}  
	static $result_array=array();  
	if(is_dir($dirpath)){  
	$files_dirs=scandir($dirpath);  
	foreach($files_dirs as $file){  
	if($file=='.'||$file=='..'){continue;}  
	if(is_dir($dirpath.$file)){  
	list_dir($dirpath.$file);  
	}else{  
	array_push($result_array,$dirpath.$file);  
	}  
	}  
	}  
	return $result_array;  
	}  
	
	$array=list_dir('D:/www');  
	foreach($array as $value){  
	echo $value;  
	echo "<br>";  
	}  
	?>
	<?php
	function list_dir($dirpath){
	if($dirpath[strlen($dirpath)]-1!='/'){
	$dirpath.="/";
	}
	static $result_array=array();
	if(is_dir($dirpath)){
	$files_dirs=scandir($dirpath);
	foreach($files_dirs as $file){
	if($file=='.'||$file=='..'){continue;}
	if(is_dir($dirpath.$file)){
	list_dir($dirpath.$file);
	}else{
	array_push($result_array,$dirpath.$file);
	}
	}
	}
	return $result_array;
	}
	$array=list_dir('D:/www');
	foreach($array as $value){
	echo $value;
	echo "<br>";
	}
	?>
	
	--------------------------------------------------------------------------------
3.方法三:
	view plaincopy to clipboardprint?
	<?php  
	function list_dir($dirpath){  
	if($dirpath[strlen($dirpath)-1]!=""){$dirpath.="";}  
	static $result_array=array();  
	if(is_dir($dirpath)){  
	$handle=opendir($dirpath);  
	while($file=readdir($handle)){  
	if($file=="."||$file==".."){continue;}  
	if(is_dir($dirpath.$file)){  
	list_dir($dirpath.$file."");  
	}else{  
	array_push($result_array,$dirpath.$file);  
	}  
	}  
	closedir($handle);  
	}  
	return $result_array;  
	}  
	
	$array=list_dir("D:www");  
	foreach($array as $value){  
	echo $value;  
	echo "<br>";  
	}  
	?>
	<?php
	function list_dir($dirpath){
	if($dirpath[strlen($dirpath)-1]!=""){$dirpath.="";}
	static $result_array=array();
	if(is_dir($dirpath)){
	$handle=opendir($dirpath);
	while($file=readdir($handle)){
	if($file=="."||$file==".."){continue;}
	if(is_dir($dirpath.$file)){
	list_dir($dirpath.$file."");
	}else{
	array_push($result_array,$dirpath.$file);
	}
	}
	closedir($handle);
	}
	return $result_array;
	}
	$array=list_dir("D:www");
	foreach($array as $value){
	echo $value;
	echo "<br>";
	}
	?>
--------------------------------------------------------------------------------
	
	4.方法四:
	view plaincopy to clipboardprint?
	<?php  
	function list_dir($dirpath){  
	if($dirpath[strlen($dirpath)-1]!=""){$dirpath.="";}  
	static $result_array=array();  
	if(is_dir($dirpath)){  
	$dir=dir($dirpath);  
	while($file=$dir->read()){  
	if($file=="."||$file==".."){continue;}  
	if(is_dir($dirpath.$file)){  
	list_dir($dirpath.$file."");  
	}else{  
	array_push($result_array,$dirpath.$file);  
	}  
	}  
	$dir->close();  
	}  
	return $result_array;  
	}  
	
	$array=list_dir("D:www");  
	foreach($array as $value){  
	echo $value;  
	echo "<br>";  
	}  
	?>
	<?php
	function list_dir($dirpath){
	if($dirpath[strlen($dirpath)-1]!=""){$dirpath.="";}
	static $result_array=array();
	if(is_dir($dirpath)){
	$dir=dir($dirpath);
	while($file=$dir->read()){
	if($file=="."||$file==".."){continue;}
	if(is_dir($dirpath.$file)){
	list_dir($dirpath.$file."");
	}else{
	array_push($result_array,$dirpath.$file);
	}
	}
	$dir->close();
	}
	return $result_array;
	}
	$array=list_dir("D:www");
	foreach($array as $value){
	echo $value;
	echo "<br>";
	}
	?>
5.方法五:
	<?php
	set_time_limit(0);
	function show_list($path){
	if(is_dir($path)){
	$dp=dir($path);
	//echo "<font color=green>$path</font><br>";
	while($file=$dp->read())
	if($file!='.'&&$file!='..'&&$file!='Thumbs.db')
	{ //echo "<font color=#999900>$file</font><br>";
	// echo "<font color=#FF00FF>$path</font><br>";
	show_list($path.'/'.$file);
	// echo "<font color=red>$file</font><br>";
	// echo "<font color=blue>$path</font><br>";
	
	}
	$dp->close();
	}
	$path=iconv('GB2312','UTF-8',$path);//
	echo "$path<br>";
	}
	show_list('UploadFiles');
?>
	
	

