找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 600|回复: 0
打印 上一主题 下一主题

php读取目录及子目录下所有文件名的方法

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:53:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:
一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:
[U]复制代码[/U] 代码如下dir="./caxa/";
$file=scandir($dir);
print_r($file);
稍微复杂点的,来自于php手册:
[U]复制代码[/U] 代码如下dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}
这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:
[U]复制代码[/U] 代码如下:function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}
function getDir($dir){
$data=array();
searchDir($dir,$data);
return   $data;
}
print_r(getDir('.'));
希望本文所述对大家的PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP读取目录下所有文件的代码
  • php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
  • PHP 创建文件(文件夹)以及目录操作代码
  • PHP chmod 函数与批量修改文件目录权限
  • PHP获取文件绝对路径的代码(上一级目录)
  • 使用PHP遍历文件夹与子目录的函数代码
  • PHP中文件读、写、删的操作(PHP中对文件和目录操作)
  • PHP判断文件是否存在、是否可读、目录是否存在的代码
  • php中检查文件或目录是否存在的代码小结
  • PHP遍历某个目录下的所有文件和子文件夹的实现代码
  • php遍历目录与文件夹的多种方法详解
  • php读取出一个文件夹及其子文件夹下所有文件的方法示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端