Я просмотрел множество примеров в Stack Overflow о рекурсивном получении списка файлов и их сохранении в массиве PHP. Что бы я ни делал неправильно, массив становится пустым. Вот часть того, что у меня есть.
<?php
$mediaFiles = array();
function getFiles() {
$media = "./media";
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($media)) as $filename){
if ($filename->isDir()) continue;
$mediaFiles[] = $filename->getPathname();
}
}
getFiles();
?>
Конечно, это его часть, а не все, но это важная часть. Кажется, я не могу понять проблему, потому что я новичок в PHP. Что я делаю не так или есть способ лучше?
В папке, из которой он должен получать файлы, содержится около 800 файлов. Так что он точно не должен быть пустым.
Узнайте о область видимости переменной. mediaFiles в строке 2 - это не тот же mediaFiles в строке 7.
@ThomasEdwards Это была опечатка только в вопросе. $mediaFiles[] позже конвертируется в формат json и вставляется в массив javascript. Однако я обнаружил, что он пуст перед преобразованием, если только он не преобразован слишком рано, что возможно.
См. Комментарий @aynber, я думаю, что это, наверное, все
PHP был в порядке, это был просто порядок загрузки php по отношению ко всему документу, который вызывал проблемы, смешанные с областью переменной.






Вы имеете в виду
<?php? Вы нигде не распечатываете$mediaFiles[], куда вы его называете?