だから私はこの記事を使って私のウェブサイトのダウンロードリンクを生成して保護しています
私が抱えている問題は、巨大なファイルではなく、スクリプトが機能することです。たとえば、1GB のファイルは完全にダウンロードされますが、7GB のファイルはそうではありません。
コメントの誰かが、大規模なダウンロードがこれを引き起こす可能性があると述べました.
現在、私のヘッダーは次のようになっています。
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fakefilename) . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($realfilename));
ob_clean();
flush();
readfile($realfilename);
exit;
そして、このガイドは、それらが次のように見えるべきであることを示唆しています:
header("Content-Disposition: attachment; filename=" . urlencode($file));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file));
flush(); // this doesn't really matter.
$fp = fopen($file, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
私の人生では、これを機能させることはできません。HTTP ヘッダーに精通していて、大きなファイルをダウンロードできないが、小さなファイルをダウンロードできない人はいますか?
どんな助けでも大歓迎です。前もって感謝します!