Получите рекурсивный список файлов с помощью PHP

Я просмотрел множество примеров в 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 файлов. Так что он точно не должен быть пустым.

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

Thomas Edwards 16.03.2018 15:13

Узнайте о область видимости переменной. mediaFiles в строке 2 - это не тот же mediaFiles в строке 7.

aynber 16.03.2018 15:15

@ThomasEdwards Это была опечатка только в вопросе. $mediaFiles[] позже конвертируется в формат json и вставляется в массив javascript. Однако я обнаружил, что он пуст перед преобразованием, если только он не преобразован слишком рано, что возможно.

Christian Sirolli 16.03.2018 15:18

См. Комментарий @aynber, я думаю, что это, наверное, все

Thomas Edwards 16.03.2018 15:19

PHP был в порядке, это был просто порядок загрузки php по отношению ко всему документу, который вызывал проблемы, смешанные с областью переменной.

Christian Sirolli 16.03.2018 15:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
37
0

Другие вопросы по теме