Web サーバーでホストされている大量のドキュメントがあり、これらのファイルは機密であるため、直接 HTTP リクエストで取得したくないとします。ファイル名の暗号化を開始しましたが、さらに一歩進めたい場合は、それらのファイルを /public_html フォルダーの外に配置し、PHP に要求されたファイルを /public_html の外のフォルダーから取得させるのはどうでしょうか?
これをテストしようとしていますが、私の小さなスクリプトが間違ったファイル名の 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");
} ?>