php 使用 Glob() 查找文件

发布时间:2019-11-10编辑:脚本学堂
php的glob() 函数能做的事情,有时很难说的清楚,可以把它看作是比 scandir() 函数更强大的版本,可以按照某种模式搜索文件。

php的glob() 函数能做的事情,有时很难说的清楚,可以把它看作是比 scandir() 函数更强大的版本,可以按照某种模式搜索文件。
 

复制代码 代码如下:

// get all php files
$files = glob('*.php');

print_r($files);
/* output looks like:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
)
*/

可以像这样获得多个文件:
 

复制代码 代码如下:

// get all php files AND txt files
$files = glob('*.{php,txt}', GLOB_BRACE);

print_r($files);
/* output looks like:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
    [4] => log.txt
    [5] => test.txt
)
*/

请注意,这些文件其实是可以返回一个路径,这取决于查询条件:
 

复制代码 代码如下:

$files = glob('../images/a*.jpg');

print_r($files);
/* output looks like:
Array
(
    [0] => ../images/apple.jpg
    [1] => ../images/art.jpg
)
*/

如果你想获得每个文件的完整路径,你可以调用 realpath() 函数:
 

复制代码 代码如下:

$files = glob('../images/a*.jpg');

// applies the function to each array element
$files = array_map('realpath',$files);

print_r($files);
/* output looks like:
Array
(
    [0] => C:wampwwwimagesapple.jpg
    [1] => C:wampwwwimagesart.jpg
)
*/