-1

ログイン ユーザーが 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
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 に答える