问候语, 我有一个包含许多pdf文件的文件夹。我想要的是能够在视图中生成链接,当我单击其中一个链接时,浏览器呈现文件。在最后一种情况下,至少浏览器将文件下载到硬盘驱动器。两者都不能实现。
现在我在index.php文件中有这个代码。它设置pdfs文件夹并在浏览器窗口中列出文件,因为foreach循环。
<?php
$cfileDir = Yii::app()->file->set('pdfs/');
$ficheiros = $cfileDir->getContents();
if (isset($ficheiros[0])) {
foreach ($ficheiros as $index => $ficheiro) {
$nomeFicheiro = substr($ficheiro, strrpos($ficheiro, '/') + 1);
echo CHtml::link($nomeFicheiro, array('pdfs/'.$nomeFicheiro)) . "<br/>";
}
} else {
echo "Não existem ficheiros disponíveis para download.";
}
?>
此代码显示为文件夹PDFS中的每个文件生成的链接,但是当我单击链接时,显示ERROR 404无法解析请求“pdfs / nameoffile.pdf”。 我的控制器中没有任何代码,是否需要?我使用扩展Cfile及其方法来管理文件,但我不认为它对ERROR 404有影响。
**
**
答案 0 :(得分:0)
将其更改为:
echo CHtml::link($nomeFicheiro, Yii::app()->baseUrl.'/pdfs/'.$nomeFicheiro) . "<br/>";
由于array('pdfs/'.$nomeFicheiro)
是pdfs
控制器和$nomeFicherio
操作的链接,您似乎没有它。
另一方面,建议不要打破MVC
结构和关注点分离。