基本上我想使用glob()
从目录中获取文件。文件格式如下:
052013.www.test1.com.txt
052014.www.test1.com.txt
062014.www.test1.com.txt
072014.www.test1.com.txt
082014.m.test1.com.txt
092014.test1.com.txt
我想只获得一年的文件(即$_SESSION['year']
),其中包含www
或m
,所以这里是我的功能:
function get_files(){
$dir = DOCUMENT_ROOT;
$hostname = HOST;
$files = array();
$scan = glob($dir."{*".$_SESSION['year'].".m.,*".$_SESSION['year'].".www.}".$hostname.".txt", GLOB_BRACE | GLOB_NOCHECK );
foreach ( $scan as $file ) {
$files[] = $file;
}
return $files;
}
这里的问题是,当它找不到任何文件时,例如www
它会返回此信息:
Array
(
[0] => /var/www/stats/082014.m.test1.com.txt
[1] => /var/www/stats/*2014.www.test1.com.txt
)
我在这个职能部门犯的错误是什么?非常感谢。
答案 0 :(得分:0)
GLOB_NOCHECK - 如果找不到与之匹配的文件,则返回搜索模式
你可以删除GLOB_NOCHECK,如果没有“www”文件,glob函数将不会返回结果数组中的模式。