假設您的一些文件託管在您的網絡服務器上,但您不希望它們被直接HTTP請求檢索,因爲這些文件是保密的。我們開始加密文件名,但我們希望它進一步進一步,那麼將這些文件放在/ public_html文件夾之外,並讓PHP從/ public_html之外的文件夾中檢索所請求的文件呢?保護文件免受直接HTTP請求的影響
我想測試這個,但我的小腳本檢索我錯了文件名的0KB .pdf文件:
<?php
$file = '/home/clientaccount/secretfiles/file.pdf';
if(!file_exists($file)){
die('Error: File not found.');
}
else
{
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
} ?>
你使用什麼服務器?一個'.htaccess'文件可能更適合你。 – Lix 2012-07-07 13:44:26
你在這之後迴應文件的內容嗎?或者是整個腳本? – 2012-07-07 13:46:26
對不起,忘了添加細節:我們正在使用Apache。至於.htaccess,你可以精心設計你的想法嗎?至於回聲內容,這是整個腳本,因爲我們不是要回顯文件,而是強制文件被下載。 – Tobias 2012-07-07 13:53:23