假設資料夾下有這些東西,folder是資料夾
$ ls
folder handlebars-v3.0.3.js jquery-1.10.2.min.js start.html
要抓取所有的js檔的檔名
使用 opendir()
$ php -r '$handle=opendir("./"); while(false!==($file=readdir($handle))){ echo $file."\n"; } closedir($handle);'
.
..
folder
handlebars-v3.0.3.js
jquery-1.10.2.min.js
start.html
相當麻煩,必須先opendir(),用完後還要closedir()。取出的過程還需要跑回圈做處理
使用scandir()
$ php -r '$files = scandir("./"); print_r($files);'
Array
(
[0] => .
[1] => ..
[2] => folder
[3] => handlebars-v3.0.3.js
[4] => jquery-1.10.2.min.js
[5] => start.html
)
直接取出,只能取出後再對檔案過濾,連資料夾也會一起取出
使用glob() =>採用
$ php -r '$files = glob("*{.js}", GLOB_BRACE); print_r($files);'
Array
(
[0] => handlebars-v3.0.3.js
[1] => jquery-1.10.2.min.js
)
可以使用正規表示式過濾檔名
參考資料:
http://jishus.org/?p=690 【PHP】透過glob、scandir、readdir取得資料夾內的檔案列表
沒有留言:
張貼留言