Привет, я делаю приложение Yii2 Basic и имею форму загрузки файла в области администратора. Загрузка файлов отправляет файлы в приложение /web/uploads. Я последовал за большим руководством по загрузке файлов из samdark. Это можно увидеть здесь: https://github.com/yiisoft/yii2/blob/master/docs/guide/input-file-upload.md
Что мне нужно сделать, так это создать представление, которое визуализирует гиперссылки на каждый из файлов внутри папки uploads.
В Yii1.xx появилось расширение для обработки файлов под названием Cfile очень удобно. Я использовал в нескольких приложениях, чтобы делать то, что хочу сейчас.
Используя Cfile, я смог написать такой код:
$cfileDir = Yii:: app() → file- > set ('pdfs/');//устанавливаем pdfs как целевую папку
$files = $cfileDir- > getContents();
Метод getContents() был отличным, потому что он позволил мне позже применить цикл foreach и перечислить все файлы в папке.
В Yii2 как сделать что-то подобное в папке uploads, то есть список файлов в этой папке и создать гиперссылки в представлении.
Чтобы заполнить гиперссылки внутри представления, я мог бы использовать Html:: a(), но чтобы получить все файлы внутри него, я не знаю, как это сделать.
Любые идеи? Спасибо.
ИЗМЕНИТЬ
РЕШЕНО с большим наконечником от ALI.
ЗДЕСЬ ПОЛНЫЙ БЛОК КОДА
<?php
$files=\yii\helpers\FileHelper::findFiles('uploads/');
if (isset($files[0])) {
foreach ($files as $index => $file) {
$nameFicheiro = substr($file, strrpos($file, '/') + 1);
echo Html::a($nameFicheiro, Url::base().'/uploads/'.$nameFicheiro) . "<br/>" . "<br/>" ; // render do ficheiro no browser
}
} else {
echo "There are no files available for download.";
}
?>