php glob()函數傳回符合指定模式的檔案名稱或目錄。因此我們可以使用glob函數來尋找文件,也可以實現目錄的遍歷。
函數說明:array glob ( string $pattern [, int $flags ] )
功能:尋找與模式匹配的檔案路徑,傳回包含符合檔案(目錄)的陣列(註:被檢查的檔案必須是伺服器系統的,不能用於遠端檔案)
參數說明:第一個參數:匹配模式;第二個可選參數:
GLOB_MARK - 在每個返回的項目中加一個斜線
GLOB_NOSORT - 按照文件在目錄中出現的原始順序傳回(不排序)
GLOB_NOCHECK - 如果沒有檔案匹配則傳回用於搜尋的模式
GLOB_NOESCAPE - 反斜線不轉義元字元
GLOB_BRACE - 擴充器{a,b,b,c}來符合'a','b' 或'c'
GLOB_ONLYDIR - 只返回與模式匹配的目錄項目
實例一:取得指定目錄下的所有檔案和子目錄
<?php $directories = glob("/tmp/*", GLOB_ONLYDIR);//获取/tmp/目录下的所有目录 $complete = glob("/tmp/*");//获取/tmp/目录下的所有目录和文件 $files = array_diff($directories, $complete);//获取/tmp/目录下的所有文件 echo "Directories in /tmp/<BR>"; foreach($directories as $val) { echo "$val<BR>\n"; } echo "<BR>Files in /tmp/<BR>"; foreach($files as $val) { echo "$val<BR>\n"; } ?>
還在用opendir readdir遍歷文件嗎,你真out了!
<?php $files = glob("dir/*.jpg"); foreach($files as $jpg){ echo $jpg, "\n"; } ?>