Php 如果使用通配符,则仅全局提取数组
我正在尝试使用Php 如果使用通配符,则仅全局提取数组,php,Php,我正在尝试使用glob()查找文件夹中与模式匹配的图像。图像太多,无法手动搜索,因此glob()似乎是一个不错的方法 然而,我似乎无法让glob正常工作 我有5张图片,图案如下:diamond_z_classic_397-106但当我使用glob时: print_r(glob(“diamond_z_classic_397-106.*)那么这就是返回的array()。当我这样做时:pring_r(glob(“*”)然后它从包含5个匹配项的目录中提取所有内容 我已经扫描过了,也扫描过了,以找出我遗漏
glob()
查找文件夹中与模式匹配的图像。图像太多,无法手动搜索,因此glob()
似乎是一个不错的方法
然而,我似乎无法让glob正常工作
我有5张图片,图案如下:diamond_z_classic_397-106
但当我使用glob时:
print_r(glob(“diamond_z_classic_397-106.*)代码>那么这就是返回的array()
。当我这样做时:pring_r(glob(“*”)代码>然后它从包含5个匹配项的目录中提取所有内容
我已经扫描过了,也扫描过了,以找出我遗漏了什么
是什么导致了这一切,或者我错过了什么
另外,是否可以使用如下变量: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-35.jpg
diamond_z_classic_397-106-800-800-100-wm-center_middle-0-ColorCountryAussies-255-255-255-35.jpg
从模式中删除
,即全局(“diamond_z_classic_397-106*)
With*
单独匹配任何字符的零个或多个。您正在尝试匹配文件名中该位置不存在的文本
。您可能已将文件名截断为“.”,并按字面意思执行。
试试像这样的东西
print_r(glob("diamond_z_classic_397-106*"));
同样,您可以预先定义字符串并将其作为参数传递
$pattern = "xyz*"
print_r(glob($pattern));
空数组意味着没有匹配的模式,当我使用通配符*
时,该模式会显示出来,尽管你或php是错误的,但我打赌……我在上面的代码中使用php。我唯一要改变的是一个我放了模式,另一个我用了通配符。区分大小写?特殊人物?空间-所有可能都是一个问题!成功了。你知道一种方法来获取数组并将这些文件移动到另一个目录吗?@MDavid如果你只想让glob移动文件,那么这一切都可以做得更简单(更快)exec('mv diamond_z_classic_397-106*/destination/')代码>