Dnt允许用户从URL访问文档

时间:2014-08-20 05:49:23

标签: php .htaccess urlaccess

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

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

我创建了pdf文件夹,保留了我的所有pdf。 我有HTML代码

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

check.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

1 个答案:

答案 0 :(得分:5)

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

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

通过执行

检查用户是否已登录
$_SESSION[login]==true

在包含pdf链接的页面上写上面的protect_page()函数。

你很高兴。