遍历文件夹中所有文件的php代码

在日常的php编程中,有时需要遍历文件夹及子文件夹中的所有文件,多数情况下,无非就是使用递归。

收藏两个[url=http://www.jbxue.com/article/6572.html]php 文件夹遍历[/url]的代码。
代码1:
<html>
<body>
<?php
function traverse($path = '.') {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
echo 'Directory ' . $file . ':<br>';
traverse($sub_dir);
} else { //如果是文件,直接输出
echo 'File in Directory ' . $path . ': ' . $file . '<br>';
}
}
}

traverse('xxtt');
?>
</body>
</html>

代码2:
<?php
/**
* 递归查找目录下所有文件。
* site: http://www.jbxue.com
*/
function scanfiles($dirs,$path='',$root,&$files,&$options){
if($dirs==false){
return ;
}
foreach($dirs as $val){
if($val=='.' || $val=='..' || in_array($val,$options['exclude'])){
continue;
}
if(is_file($root.'/'.$path.$val)){
$files[]['name']=$path.$val;
}elseif(is_dir($root.'/'.$path.$val)){
if(empty($path)){
$nextpath=$val.'/';
}else{
$nextpath=$path.$val.'/';
}
$dir=$root.'/'.$nextpath;
scanfiles(@scandir($dir),$nextpath,$root,$files,$options);
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值