如果是我,我會用這樣的事情。如果你正在尋找具體的下載否認基礎上,會議從用戶
if($_SESSION['login']===1 || $_COOKIE['login']===1){
echo '<a href="myfile.pdf">Download here</a>';
}
的未登錄完全隱藏鏈接被點擊該鏈接後, ,你將不得不設置一些類型的腳本來處理上面的代碼並返回你想要的文件。
編輯:
OK,然後將其鏈接到該檢索從非訪問的位置的文件,並將其反饋以相同的if/then語句的腳本。
喜歡的東西
filedownload.php?文件名= foo.bar
然後filedownload.php會是這個樣子。
<?php
session_start();
if($_SESSION['login']===1 && $_COOKIE['login']===1){
$file_dir = "/some/dir/";
$file = $file_dir . 'foo.bar';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
} else {
echo "You need to login to download this file.";
}
?>
這是直接從PHP手冊複製的。並添加了if/then語句。
使用if語句來檢查會話/ cookie並相應輸出 – ElefantPhace
創建一個php腳本,用於檢查會話變量,讀取文件併發送強制下載標題。有關於如何做到這一點的一千篇文章。 –
@ElefantPhace @ElefantPhace:即使設置,任何人都可以手動輸入鏈接並獲取文件 – logan