divanus
@divanus
junior php bitrix python

Как вывести список файлов с ссылками в директории битрикс?

Есть список файлов, например в /upload/
Файлы не загружены в инфоблок. Необходимо их вывести списком со ссылками на скачивание.
Из инфоблока делается так:
<?foreach ($arResult["PROPERTIES"]["FILES"]["VALUE"] as $value):?>
  <a href="<?=CFile::GetPath($value)?>">Скачать</a>
<?endforeach?>
  • Вопрос задан
  • 1581 просмотр
Решения вопроса 1
divanus
@divanus Автор вопроса
junior php bitrix python
use \Bitrix\Main\{ Application, IO };

$iterator = new \RecursiveIteratorIterator(
    new \RecursiveDirectoryIterator(Application::getDocumentRoot() . '/upload/MY_FOLDER/', \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
    \RecursiveIteratorIterator::SELF_FIRST
);

foreach($iterator as $item) {
    if ($item->isFile()) {
        $file = new IO\File($item->getPathname());

        echo \sprintf('<a download href="/%s">%s</a>', \str_replace(Application::getDocumentRoot(), '', $file->getPath()), $file->getName());
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы