PHP读取文件夹文件列表(可多级读取)

2016年12月10日16:14:11 发表评论 5,917

今天想起了前几天写的一个php读取文件夹内文件列表的并返回文件路径的方法,因为前段时间用的时候只需读取两级目录,就随便写了一个,今天又彻底完善了一下,可直接递归读取文件夹内的文件夹,最终返回一维数组。当时在写这段程序的时候出现了乱码的现象。但当时已经对传进的参数进行了转码,并且可正常打印,但存到数组中之后却显示空白,经过仔细调试终于解决。

算法实现说明:

该算法核心是读取文件夹内的文件,若发现存在文件夹,就递归读取,将返回值在下面和第一级文件列表拼合,但这样最终的返回值是一个N维数组,N由文件夹的目录级数决定,所以,对返回值又进行了处理,将N维数组遍历返回一维数组。需要注意的是文件夹路径的转码问题,因为计算机读取文件夹的时候不认识中文汉字的utf8编码,所以每次中文路径都必须转为gb2312,此时计算机才认识。

主代码:

运行结果:

PHP读取文件夹文件列表(可多级读取)

使用时直接调用getFile()函数,传入路径参数即可。

 

  • A+
所属分类:PHP

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: