使用preg_match在文件夹中搜索文件名的通配符?

时间:2014-10-13 17:54:01

标签: php search wildcard

我的代码用于检查文件夹中是否有文件。每个文件都在文件名00'的开头。$ id'-time()所以例如“00226-1413203222.pdf”。

我有这段代码用于检查是否有一个带有该ID的文件:

$id = 226;
$searchpath = "files/00" . $id . "-*";

if (file_exists($searchpath)) {
...
...
...

但是这段代码不想工作,所以我可能需要一些其他的方法来做这件事吗?

你能给我一些好的建议吗?如何做到最好?

谢谢

1 个答案:

答案 0 :(得分:0)

为什么不这样使用scandir()

$id = "26";
$dir_path = "files";
$fileSearchRegex = "/^00".$id."-[0-9]*\.pdf$/";

$foundFile = array_map(function($file){
    if(preg_match($fileSearch, $file))
        return $file;
}, scandir($dir_path));