文件查找好用的函数glob,scandir

文档:glob() 函数能够用来匹配指定模式的文件名或目录,并返回一个包含匹配文件/目录的数组,若是出错返回false. php

语法:glob(pattern, flags),pattern匹配模式,flag参数有: 数组

  • GLOB_MARK - 在每一个返回的项目中加一个斜线
  • GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
  • GLOB_NOCHECK - 若是没有文件匹配则返回用于搜索的模式
  • GLOB_NOESCAPE - 反斜线不转义元字符
  • GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
  • GLOB_ONLYDIR - 仅返回与模式匹配的目录项
  • GLOB_ERR - 中止并读取错误信息(好比说不可读的目录),默认的状况下忽略全部错误

例子: 函数

搜索当前目录下第一层中全部目录和文件,glob("*", GLOB_MARK),返回 Array ( [0] => TPM\ [1] => ThinkPHP\ [2] => index.php [3] => tp\ ) 网站

只搜索子目录,glob("*", GLOB_ONLYDIR ),返回 Array ( [0] => TPM [1] => ThinkPHP [2] => tp ) spa

多条件匹配,glob({c*,i*}, GLOB_BRACE ),返回 orm


Array
(
[0] => cha.php
[1] => client.php
[2] => index.php
[3] => pha.php
[4] => server.php
)
Array
(
[0] => cha.php
[1] => client.php
[2] => index.php

) server


举个常见的例子,好比咱们的网站下有个文件夹叫image,image下有各类类型的分类,而每个分类下又包含两目录,origin(正常大小的),和thumb(缩略图),咱们须要一段代码来读取全部分类的全部缩略图,若是不是用glob将是很麻烦的一段代码,用glob的话:  glob("image/*/thumb/*"),轻松搞定 排序

scandir(dir,sort,context),用来返回指定路径中的文件和目录,sort:0表示升序,1表示降序。scandir函数不能使用匹配模式,只能返回自定路径下的全部文件和目录。 文档

相关文章
相关标签/搜索