采用PHP函数glob实现寻找与模式匹配的文件路径,主要讨论glob()函数的作用和用法,利用glob函数读取目录比其它的要快N倍,因为glob函数是内置函数处理起来自然要快. 一,函数原型 array glob(string pattern[,int flags]) 注意:glob()函数获取的是一个数组,其返回一个包含有匹配文件/目录的数组,如果出错返回FALSE. 二,版本兼容 PHP 4 >= 4.3.0, PHP 5 三,函数的基础用法与实例 1,匹配目录下.txt后缀的文件,代码如下:
2,实现兼容大小写匹配,代码如下:
3,获取目录下的所有子目录,代码如下:
4,匹配所有文件,代码如下:
四,注意事项 1,不能作用于远程文件,被检查的文件必须通过服务器的文件系统访问。 2,使用 glob("[myfolder]/*.txt")将不能匹配,解决方法为 glob("[myfolder]/*.txt"),注意[]字符应用。 3,其次是第二个参数flags有效标记说明 (1)GLOB_MARK - 在每个返回的项目中加一个斜线 (2)GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序) (3)GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式 (4)GLOB_NOESCAPE - 反斜线不转义元字符 (5)GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c' (6)GLOB_ONLYDIR - 仅返回与模式匹配的目录项 注意: 在 PHP 4.3.3 版本之前 GLOB_ONLYDIR 在 Windows 或者其它不使用 GNU C 库的系统上不可用。 (7)GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误 注意: GLOB_ERR 是 PHP 5.1 添加的。 glob()函数的典型应用是读取数据表文件,如获取某个目录下的.sql后缀文件,这种在单元测试中非常实用,可实现读取sql文件重建数据库等,具体请参与PHP手册,请关注下一期PHP内置函数研究系列. 其它参考,代码如下: (责任编辑:最模板) |