1

问候,我有一个包含许多 pdf 文件的文件夹。我想要的是能够在视图中生成链接,当我单击其中一个链接时,浏览器会呈现文件。在最后一种情况下,至少浏览器将文件下载到硬盘驱动器。两者都无法实现。

现在我的 index.php 文件中有这段代码。由于 foreach 循环,它会设置 pdfs 文件夹并在我的浏览器窗口中列出文件。

<?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 文件夹中的每个文件生成的链接,但是当我单击链接时,它显示错误 404 无法解析申请“pdfs/nameofile.pdf”。我的控制器没有任何代码,需要吗?我使用扩展名 Cfile 及其方法来管理文件,但我认为它不会影响 ERROR 404。

**

怎么办……有什么解决办法吗?提前致谢。

**

4

1 回答 1

0

将其更改为:

echo CHtml::link($nomeFicheiro, Yii::app()->baseUrl.'/pdfs/'.$nomeFicheiro) . "<br/>";

与控制器和操作array('pdfs/'.$nomeFicheiro)的链接一样,您似乎没有它。pdfs$nomeFicherio

另一方面,建议不要破坏MVC结构和关注点分离。

于 2014-11-16T15:52:30.123 回答