php怎么知道指定目录中有哪些文件
在上一篇文章中我们介绍了一次性读取整个文件,并将文件数据逐行存入数组中的方法,有需要的请看《php怎么逐行将整个文件数据存入数组中》。这次我们来了解一下获取指定目录中文件(不包含子目录)的方法,有需要的可以参考参考。
有时候我们操作目录,需要了解目录中是否有文件存在,有哪些文件存在;这就需要读取目录内容了。今天我们就来给大家介绍一下PHP获取指定目录中文件,并返回目录中文件及文件夹名称的方法。
在D盘创建一个名为“demo”的目录,该目录下有这些文件:
想要获取“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); } ?>
知道会输出什么吗?看看输出结果吧:
我们来分析一下:
-
首先是使用
opendir($dir)
来打开一个目录。 -
然后是使用
readdir($info)
来获取打开目录$info
中下一个文件或目录的名称;因为一次只能获取一个文件/目录,所以需要借助while()循环,以获取并输出全部的文件/目录。 -
最后使用
closedir($info)
来关闭目录。
说明:在对一个目录的操作结束之后,需要使用closedir()函数关闭已打开的目录,即释放操作目录时所占用的资源。而不仅仅是目录,文件也是,在操作完成之后也需使用fclose()函数关闭。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP文件基础操作
推荐:《PHP面试题大汇总(收藏)》《php视频教程》