Решением было бы использовать opendir
+ readdir
+ closedir
(цитируя пример с первой страницы) :
$imagesdir = $CFG->dataroot.'/1/themeimages/';
if ($handle = opendir($imagesdir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
Другое решение было бы использовать класс [DirectoryIterator
; цитируя пример из] 4 страницы __construct
:
$imagesdir = $CFG->dataroot.'/1/themeimages/';
$dir = new DirectoryIterator($imagesdir);
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
var_dump($fileinfo->getFilename());
}
}
Конечно, в каждом случае вместо того, чтобы просто выводить или выводить имя файла, вам придется поместить его в массив.
Это будет означать инициализацию массива перед циклом:
$list_files = array();
И внутри цикла используйте что-то вроде одной из этих двух строк, в зависимости от того, какое решение вы выберете:
$list_files[] = $file;
$list_files[] = $fileinfo->getFilename();