Привет,
У меня есть папка со многими файлами 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, но когда я нажимаю на ссылку, она отображает ОШИБКА 404, не удается разрешить заявку «pdfs / nameoffile.pdf».
У меня нет никакого кода в моем контроллере, это нужно? Я использую расширение Cfile и его методы для управления файлами, но я не думаю, что это повлияет на ОШИБКУ 404.
**
**
Измените это на:
echo CHtml::link($nomeFicheiro, Yii::app()->baseUrl.'/pdfs/'.$nomeFicheiro) . "<br/>";
Как array('pdfs/'.$nomeFicheiro)
это ссылка на pdfs
контроллер и $nomeFicherio
действие, которое, кажется, у вас его нет.
С другой стороны, предлагается не нарушать MVC
структура и разделение интересов.
Других решений пока нет …