【问题标题】:Yii Framework ERROR 404 -Could not resolve the requisition "pdfs/andre.pdf"Yii 框架错误 404 - 无法解决申请“pdfs/andre.pdf”
【发布时间】:2015-01-13 12:51:17
【问题描述】:

您好, 我有一个包含许多 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 产生影响。

**

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

**

【问题讨论】:

    标签: php pdf yii hyperlink yii-chtml


    【解决方案1】:

    改成:

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

    因为array('pdfs/'.$nomeFicheiro) 是指向pdfs 控制器和$nomeFicherio 操作的链接,您似乎没有它。

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

    【讨论】:

    • 已解决。您的建议解决了这个问题,现在一切都按照我想要的方式进行。此外,非常感谢您对事物如何运作的宝贵解释。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2019-01-19
    • 2015-06-13
    • 1970-01-01
    • 2019-02-11
    相关资源
    最近更新 更多