我试图使用glob()
在我的文件夹中找到与模式匹配的图像。有太多的图像需要手动搜索,所以glob()
似乎是一个很好的方法。
我似乎不能让glob工作,然而。
我有以下模式的5个图像:diamond_z_classic_397-106
,但当我使用glob时:
print_r(glob("diamond_z_classic_397-106.*"));
那么这就是返回的array()
。当我执行以下命令:pring_r(glob("*.*"));
时,它会从目录中提取包括5个匹配项在内的所有内容。
我已经扫描了SO以及http://php.net/manual/en/function.glob.php和http://www.w3schools.com/php/func_filesystem_glob.asp,以找出我错过了什么。
是什么导致了这个,或者我错过了什么。
另外,是否可以使用这样的变量:glob("$pattern.*");
?
以下是符合这种模式的5个确切名称:diamond_z_classic_397-106-100-80-100-c-rd-255-255-255.jpg
diamond_z_classic_397-106-100-80-100-c.jpg
diamond_z_classic_397-106-120-90-100-c.jpg
diamond_z_classic_397-106-300-300-100-wm-center_middle-0-ColorCountryAussies-255-255-255-35.jpg
diamond_z_classic_397-106-800-800-100-wm-center_middle-0-ColorCountryAussies-255-255-255-35.jpg
将.
从图案中删除,即glob("diamond_z_classic_397-106*")
。
对于glob
, *
单独匹配零个或多个字符。您正在尝试匹配文件名中不存在的文字.
。
您可能已经用"."截断了文件名,它从字面上理解它。试试
print_r(glob("diamond_z_classic_397-106*"));
也可以,您可以预先定义一个字符串并将其作为参数传递。
$pattern = "xyz*"
print_r(glob($pattern));