Yii - 查看受保护的PDF文件

时间:2014-10-28 23:29:14

标签: php pdf yii protected

在我的应用程序中,有一些用户上传到服务器的PDF文件。这些是私人文件,无法获得全局可见性。

我尝试将这些文件上传到受保护的目录(例如 / protected / uploads )。用户必须能够查看这些文件,但客户端浏览器必须 类似于"内部视图"我的申请。

我该怎么办?
如果我使用"资产"目录文件将全局可见,对吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要发送正确的标头并执行读取文件,例如:

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

这将按照您的要求在浏览器中打开文件,并阻止用户直接抓取它。

答案 1 :(得分:0)

您所追求的是请求组件sendFile上的方法。这里简要介绍一下:http://www.yiiframework.com/doc/api/1.1/CHttpRequest#redirect-detail

用法是:

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

$filename将是您希望文件用户下载的名称