文件查找好用的函數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函數不能使用匹配模式,只能返回自定路徑下的全部文件和目錄。 文檔

相關文章
相關標籤/搜索