0 голосов
спросил от в категории PHP
У вас есть рекурсивная функция, но здесь не используется возвращаемое значение из рекурсивного вызова:
if(is_dir($dir.DIRECTORY_SEPARATOR.$ff)) {     listFolderFiles($dir.DIRECTORY_SEPARATOR.$ff); }
Когда в стартовом каталоге нет файлов, возвращенный массив пуст. В противном случае он будет содержать только файлы из этого каталога (start).

Итак, вы должны либо добавить элементы из возвращаемого массива в локальный массив, либо переписать код на передать массив в качестве параметра и работать с ним. Использование глобального массива также должно работать.

Попробуйте это (непроверено):
if(is_dir($dir.DIRECTORY_SEPARATOR.$ff)) {     $sub_arr = listFolderFiles($dir.DIRECTORY_SEPARATOR.$ff);     $arr = array_merge($arr, $sub_arr); }

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Итак, как решение я сделал, я определил глобальную строку и консет всех выходов строки пути к этой глобальной строке вместе с некоторым charecter в конце каждой строки. Я выбрал трубку «|» как мой charecter.

После завершения функции
listFolderFiles()
я удаляю последний канал" |" charecter и взорвать строку, чтобы стать массивом. Таким образом, у меня есть весь путь в массиве. После использования этого я очищаю глобальную строку, чтобы ее можно было повторно использовать повторно другими процессами.

Хотя это косвенный метод, но эта работа как прелесть для меня:)

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...