-1

我希望登录用户可以访问 PDF 文件,而匿名用户不能从浏览器访问该文件,例如 www.domain.com/pdf/name.pdf

我的 pdf 文件已损坏。单击下载时失败。

我已经创建了 pdf 文件夹,其中保存了我所有的 pdf。我有html代码

<ul>
<li>
    <a href="/check.php" target="_blank">Test</a>
</li>
</ul>

检查.php 文件

    if($_SESSION[login]==true){

    $file_url = 'http://domainname.com/pdf/example.pdf';
    $filename='example.pdf';

    header("Content-Disposition: attachment; filename=" . urlencode($filename));   
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Description: File Transfer");            
    header("Content-Length: " . filesize($file_url));
$fp = fopen($file_url, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush(); // this is essential for large downloads
} 
fclose($fp);
}

ht.access

RewriteEngine on
RewriteRule .* check.php
4

1 回答 1

5

只需在您的 php 文件中添加一个函数,如下所示:

function protect_page(){
if(logged_in()===false){
    header('Location: protected.php');
    exit();
}
}

通过执行检查用户是否已登录

$_SESSION[login]==true

在链接到您的 pdf 的页面上编写上述protect_page() 函数。

你可以走了。

于 2014-08-20T05:56:16.343 回答