我希望列出特定位置的文件名,而不包含可能包含的子目录和文件的名称。
我已经成功使用了CI的directory_map功能,但必须做一个小的解决方法,以不太方便的方式摆脱文件夹名称:
$files = directory_map('src/img/example/', 1);
foreach($files as $i => $file) {
if(strpos($file, '\\') !== false) {
unset($files[$i]);
}
}
我确信必须有一种更容易和更好的解决方案,但没有找到它的运气
答案 0 :(得分:1)
您可以使用scandir()
http://php.net/manual/en/function.scandir.php
这是一个执行array_diff()以删除“。”的示例。和“..”目录。
$files = array_diff(scandir('src/img/example'), array('..', '.'));
您也可以使用array_filter()
。
$files = array_filter(scandir('src/img/example'), function($item) {
return !is_dir('directory/' . $item);
});
答案 1 :(得分:0)
可能的选择是使用DirectoryIterator
$arrFiles = [];
foreach (new DirectoryIterator('src/img/example/') as $objFile)
{
if($objFile->isFile()) $arrFiles[] = $objFile->getFilename();
}