php怎么知道指定目录中有哪些文件

在上一篇文章中我们介绍了一次性读取整个文件,并将文件数据逐行存入数组中的方法,有需要的请看《php怎么逐行将整个文件数据存入数组中》。这次我们来了解一下获取指定目录中文件(不包含子目录)的方法,有需要的可以参考参考。

有时候我们操作目录,需要了解目录中是否有文件存在,有哪些文件存在;这就需要读取目录内容了。今天我们就来给大家介绍一下PHP获取指定目录中文件,并返回目录中文件及文件夹名称的方法。

在D盘创建一个名为“demo”的目录,该目录下有这些文件:

1.png

想要获取“D:/demo”下的这些文件,输出它们的文件名,需要怎么做呢?

直接附上实现代码:

<?php
$dir = 'D:/demo';
if(is_dir($dir)){
    $info = opendir($dir);
    while (($file = readdir($info)) !== false) {    //用不全等于是区分如果文件夹名字为0的时候,那么0!==false,仍然可以遍历
        echo $file.'<br>';
    }
    closedir($info);
}
?>

知道会输出什么吗?看看输出结果吧:

2.png

我们来分析一下:

  • 首先是使用opendir($dir)来打开一个目录。

  • 然后是使用readdir($info)来获取打开目录$info中下一个文件或目录的名称;因为一次只能获取一个文件/目录,所以需要借助while()循环,以获取并输出全部的文件/目录。

  • 最后使用closedir($info)来关闭目录。

说明:在对一个目录的操作结束之后,需要使用closedir()函数关闭已打开的目录,即释放操作目录时所占用的资源。而不仅仅是目录,文件也是,在操作完成之后也需使用fclose()函数关闭。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP文件基础操作

推荐:《PHP面试题大汇总(收藏)》《php视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php怎么知道指定目录中有哪些文件