注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秦时明月

做好今天的事!

 
 
 

日志

 
 
 
 

PHP 遍历文件实现代码  

2014-09-25 11:27:08|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
代码如下:

function Files($path) 

foreach(scandir($path) as $line) 

if($line=='.'||$line=='..') continue; 
if(is_dir($path.'/'.$line)) Files($path.'/'.$line); 
else echo '<li>'.$path.'/'.$line.'</li>'; 



PHP遍历文件及文件夹 
加入给定文件夹 C:\\Windows\\AppPatch 
1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面 
$fileArr = array( 
'files' => array(), //文件放一个数组 
'dirs' => array(), //文件夹放一个数组 

2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏 
复制代码代码如下:

<?php 
$dir = 'F:\\game'; 
function read_dir_all($dir) { 
$ret = array('dirs'=>array(), 'files'=>array()); 
if ($handle = opendir($dir)) { 
while (false !== ($file = readdir($handle))) { 
if($file != '.' && $file !== '..') { 
$cur_path = $dir . DIRECTORY_SEPARATOR . $file; 
if(is_dir($cur_path)) { 
$ret['dirs'][$cur_path] = read_dir_all($cur_path); 
} else { 
$ret['files'][] = $cur_path; 



closedir($handle); 

return $ret; 

$p = read_dir_all($dir); 
echo '<pre>'; 
var_dump($p); 
echo '</pre>'; 
?> 

php遍历一个文件夹下的所有目录及文件 
在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹。 
  这个题目有好多种解决方法。但大致思路都一样。采用递归。 
复制代码代码如下:

$path = './filepath'; 
function getfiles($path) 

if(!is_dir($path)) return; 
$handle = opendir($path); 
while( false !== ($file = readdir($handle))) 

if($file != '.' && $file!='..') 

$path2= $path.'/'.$file; 
if(is_dir($path2)) 

echo ' '; 
echo $file; 
getfiles($path2); 
}else 

echo ' '; 
echo $file; 




print_r( getfiles($path)); 
echo '<HR>'; 
function getdir($path) 

if(!is_dir($path)) return; 
$handle = dir($path); 
while($file=$handle->read()) 

if($file!='.' && $file!='..') 

$path2 = $path.'/'.$file; 
if(is_dir($path2)) 

echo $file."\t"; 
getdir($path2); 
}else 

echo $file.' '; 




getdir($path); 
echo '<HR>'; 
function get_dir_scandir($path){ 
$tree = array(); 
foreach(scandir($path) as $single){ 
if($single!='.' && $single!='..') 

$path2 = $path.'/'.$single; 
if(is_dir($path2)) 

echo $single."\r\n"; 
get_dir_scandir($path2); 
}else 

echo $single."\r\n"; 




get_dir_scandir($path); 
echo ' 
<HR>'; 
function get_dir_glob(){ 
$tree = array(); 
foreach(glob('./curl/*') as $single){ 
echo $single."\r\n"; 


get_dir_glob(); 
echo ' 
<HR>'; 
function myscandir($path) 

if(!is_dir($path)) return; 
foreach(scandir($path) as $file) 

if($file!='.' && $file!='..') 

$path2= $path.'/'.$file; 
if(is_dir($path2)) 

echo $file; 
myscandir($path2); 
}else 

echo $file.' '; 




myscandir($path); 
echo '<HR>'; 
function myglob($path) 

$path_pattern = $path.'/*'; 
foreach(glob($path_pattern) as $file) 

if(is_dir($file)) 

echo $file; 
myscandir($file); 
}else 

echo $file.' '; 



myglob($path); 

  评论这张
 
阅读(2)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017