Php GlobIterator列出不包含
我正在尝试列出不包含文件koala.jpg的所有文件夹,我尝试了以下方法:Php GlobIterator列出不包含,php,glob,Php,Glob,我正在尝试列出不包含文件koala.jpg的所有文件夹,我尝试了以下方法: $iterator = new GlobIterator('/storage/websites/site/images/menu_slider/*/koala.*', GlobIterator::CURRENT_AS_PATHNAME); if (!$iterator->count()) { echo 'No matches'; } else { $n = 0; printf("Mat
$iterator = new GlobIterator('/storage/websites/site/images/menu_slider/*/koala.*', GlobIterator::CURRENT_AS_PATHNAME);
if (!$iterator->count()) {
echo 'No matches';
} else {
$n = 0;
printf("Matched %d item(s)\r\n".'<br />', $iterator->count());
foreach ($iterator as $item) {
printf("[%d] %s\r\n".'<br />', ++$n, $iterator->key()).'<br />';
}
}
非常感谢您的帮助。使用dirname($iterator->key())
另外,请注意
basename(dirname($iterator->key())
如果需要,只获取最后一个文件夹名对不起,我没有那么高级。我只是用dirname($iterator->key())替换$iterator->key()?因为这只会删除文件名..然后将其括在basename()中-这将只返回最后一个文件夹名,而不是完整的文件夹名,是否只列出不包含搜索到的文件名的文件夹名?您需要单独的数组,在迭代过程中,将所有文件夹存储在第一个数组中,并将包含文件的文件夹存储在第二个数组中,然后您将能够通过数组_diff函数找到差异
Matched 14 item(s)
[1] /storage/websites/site/images/menu_slider/235x141/koala.jpg
[2] /storage/websites/site/images/menu_slider/235x200/koala.jpg
[3] /storage/websites/site/images/menu_slider/240x100/koala.jpg
[4] /storage/websites/site/images/menu_slider/240x200/koala.jpg
[5] /storage/websites/site/images/menu_slider/250x200/koala.jpg
[6] /storage/websites/site/images/menu_slider/250x300/koala.jpg
[7] /storage/websites/site/images/menu_slider/250x400/koala.jpg
[8] /storage/websites/site/images/menu_slider/365x200/koala.jpg
[9] /storage/websites/site/images/menu_slider/470x200/koala.jpg
[10] /storage/websites/site/images/menu_slider/470x60/koala.jpg
[11] /storage/websites/site/images/menu_slider/480x100/koala.jpg
[12] /storage/websites/site/images/menu_slider/595x200/koala.jpg
[13] /storage/websites/site/images/menu_slider/960x100/koala.jpg
[14] /storage/websites/site/images/menu_slider/960x200/koala.jpg