如何在PHP中使用scandir仅获取图像?
2022-08-30 10:38:17
有没有办法在使用时仅获取带有扩展名,等的图像jpeg
png
gif
$dir = '/tmp';
$files1 = scandir($dir);
有没有办法在使用时仅获取带有扩展名,等的图像jpeg
png
gif
$dir = '/tmp';
$files1 = scandir($dir);
您可以使用 glob
$images = glob('/tmp/*.{jpeg,gif,png}', GLOB_BRACE);
如果您需要不区分大小写,则可以将 a 与 a 结合使用,或者将结果传递给 to,并使用筛选任何不需要的扩展的回调。是使用 ,还是获取扩展名取决于您。DirectoryIterator
RegexIterator
scandir
array_map
strpos
fnmatch
pathinfo
实际问题是使用scandir,答案最终以glob结尾。两者之间存在巨大差异,其中斑点相当重。可以使用以下代码对 scandir 进行相同的过滤:
$images = preg_grep('~\.(jpeg|jpg|png)$~', scandir($dir_f));
我希望这能帮助某人。