PHP遍历目录/文件的3种方法

本文介绍两种使用PHP遍历目录的方法:一种是通过dir()函数返回目录对象,并使用read()方法进行遍历;另一种是利用opendir()函数获取目录句柄,结合readdir()函数实现目录遍历。

其实PHP中内建函数scandir()就可以返回目录下全部文件和目录了。。。

==========================

1、使用obj=dir(obj=dir(dir)返回目录对象obj使obj,然后使用其obj->read()方法遍历;

复制代码
 1 <?php
 2 /**
 3  * Created by PhpStorm.
 4  * User: Zhang He
 5  * Date: 2015/6/8
 6  * Time: 12:21
 7  */
 8 function traverseDir( $filedir ) {
 9     //打开目录
10     $dir = @dir($filedir);
11     //列出目录中的文件
12     while (($file = $dir->read())!==false){
13         if(is_dir($filedir."/".$file) AND ($file!=".") AND ($file!="..")){
14             //递归遍历子目录
15             traverseDir($filedir."/".$file);
16         } else {
17             //输出文件完整路径
18             echo "filename: " .$filedir."/".$file . "<br />";
19         }
20     }
21     $dir->close();
22 }
23 //测试:遍历当前目录
24 traverseDir(".");
25 ?>
复制代码

2、先使用obj=opendir(obj=opendir(dir)获取对象obj使readdir(obj,再使用readdir(obj)遍历目录

 

复制代码
 1 <?php
 2 /**
 3  * Created by PhpStorm.
 4  * User: Zhang He
 5  * Date: 2015/6/8
 6  * Time: 12:21
 7  */
 8 function traverseDir($dir){
 9     if(is_dir($dir)){
10         if ($obj = opendir($dir)){
11             while (($file = readdir($obj)) !== false){
12                 if((is_dir($dir."/".$file)) and $file!="." and $file!=".."){
13                     echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
14                     traverseDir($dir."/".$file."/");
15                 }else{
16                     if($file!="." and $file!=".."){
17                         echo $file."<br>";
18                     }
19                 }
20             }
21             closedir($obj);
22         }
23     }
24 }
25 //测试:遍历当前目录
26 traverseDir(".");
27 ?>
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4560602.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值