Yii2 - 如何列出文件夹中的文件
嗨,我正在制作一个Yii2 Basic应用程序,并在管理区域中有一个文件上传表单。文件上传将文件发送到应用/Web/上传。我按照从samdark上传文件的伟大教程。在这里可以看到:https://github.com/yiisoft/yii2/blob/master/docs/guide/input-file-upload.md
我需要做的是创建一个视图,该视图呈现指向上传文件夹中每个文件的超链接。
在 Yii1.xx 中,有一个用于处理文件的扩展名,称为 Cfile 非常方便。我在几个应用程序中使用过我现在想要做的事情。
使用Cfile,我能够编写如下代码:
$cfileDir = Yii::app()->file->set('pdfs/');将 pdf 设置为目标文件夹
$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.";
}
?>