Yii — Просмотр защищенных файлов PDF

В моем приложении есть несколько файлов PDF, которые пользователи загружают на сервер. Это личные файлы, и они не могут иметь глобальной видимости.

Я пытаюсь загрузить эти файлы в защищенный каталог (/ защищенные / загрузки, например). Пользователи должны иметь возможность просматривать эти файлы, но они должны не быть видимым в браузере клиента.
Что-то вроде «внутреннего вида» моего приложения.

Как я могу это сделать?
Если я использую каталог «assets», файлы будут видны глобально, верно?

Спасибо!

0

Решение

Вам необходимо отправить правильный заголовок и выполнить файл чтения, например:

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="yourPDF.pdf"');
header('Content-Length: ' . filesize($filename));
readfile($filename);

Это откроет файл в браузере, как вы просили, и не позволит пользователю получить его напрямую.

1

Другие решения

Что вам нужно, так это метод компонента запроса, sendFile, Это кратко описано здесь: http://www.yiiframework.com/doc/api/1.1/CHttpRequest#redirect-detail

Использование будет:

Yii::app()->request->sendFile($filename, $content);

$filename будет то, что вы хотите, чтобы пользователи загружали файл

0

По вопросам рекламы [email protected]