PHP 读取文件夹下文件列表

本文分享了使用PHP语言读取文件夹下所有文件列表的两种常见方法:通过opendir和readdir配合while循环,以及利用dir类的read方法结合while循环。这两种方法均能有效过滤掉'.'和'..'目录,实现对文件夹内容的完整遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享两种PHP 读取文件夹下文件文件列表的方法
一、opendir + readdir +while循环
先将目标文件夹读取为resource资源类型,没错,就是那个PHP八大数据类型中的特殊数据类型。之后再对这些资源进行读取、循环输出就可以了。
这一种方法是最常用的,上代码:

$handle=opendir('./thinkphp_5.0.23');
while($dir = readdir($handle))
{
    //过滤当前文件夹和父文件
    if($dir == '.' || $dir == '..' )
    {
        continue;
    }
    echo '<br />'.$dir;
}

这样tp5的文件夹内容就被我们循环出来了:
在这里插入图片描述
二、dir + read + while
先由dir读取目标文件夹路径,创建出一个Directory 类,然后调用该类中的read方法,最后再由while循环输出。
我们先来看看看dir创建出的是什么东西:

$directory = dir('./thinkphp_5.0.23');
var_dump($directory);

在这里插入图片描述
我们可以看到输出为 Directory 对象 第一个属性为读取的目录,第二个属性为读取的资源型数值,这里可以第一种中的readdir进行处理:

while($dir = readdir($directory->handle))
{
    //过滤当前文件夹和父文件
    if($dir == '.' || $dir == '..' )
    {
        continue;
    }
    echo '<br />'.$dir;
}

但这是不是和一方法太类似了呢,我们刚才一直提到Directory 类,现在要派上用场了,我们来看下PHP 文档里面的Directory 包含哪些东西:
在这里插入图片描述在这里插入图片描述
这里用到的就是read 方法了,上代码:

$directory=dir('./thinkphp_5.0.23');
while($dir = $directory->read())
{
    //过滤当前文件夹和父文件
    if($dir == '.' || $dir == '..' )
    {
        continue;
    }
    echo '<br />'.$dir;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值