私は、十分な特権を持っている人々にダウンロードしてほしいすべてのファイルのゲートキーパーとして機能するphpファイルを持っています。
私が使用するコードは、ファイルをユーザーにスローします
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-disposition: attachment; filename=\"".$public_filename."\"");
header("Content-Transfer-Encoding: Binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-length: ".$f_filesize);
readfile($file_path);
ほとんどのファイルはかなり大きいです....400mb-10GB。
これを行うには、実際の場所とファイル名を秘密にしておくとよいでしょう。そうすれば、人々はファイルに直接リンクすることはできませんが、download.php?file = IDゲートキーパーを介してリンクする必要がありますか?
ありがとう
編集:私はユーザー認証を行う方法を尋ねていません、それはすべて行われます。私のやり方は大規模に良い考えかと尋ねるだけです。10GBのファイルを読み続けると、メモリの問題が発生する可能性があるようです。