このスクリプトを使用してファイルをダウンロードすると、ダウンロード中に合計サイズと速度が表示されません...「直接ダウンロードリンク」のように見せたいです。このスクリプトの目的は、直接ダウンロードリンクを非表示にして、直接ダウンロードやボットなどの他のダウンロード動作を制限することです。mediafire、rapidshare、megauploadなどを考えてみてください。
現在使用しているスクリプトは機能しますが、通常のダウンロードリンクからダウンロードしたときの表示方法としては表示されません。何が起こっているかのスクリーンショットを投稿します。
私はインターネットを何時間も検索していて、これに対する解決策を見つけることができないように見えるので、このスクリーンショットが役立つことを願っています:(。
if (isset($_GET['file'])){
$file = $_GET['file'];
$path = '/home/user/domains/domain.com/files/upload/';
$filepath = $path.$file;
if (file_exists($filepath)){
set_time_limit(0); // for slow connections
header('Content-Description: File Transfer');
header("Content-Disposition: attachment; filename=\"$file\"");
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($filepath));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');
readfile($filepath); // send file to client
}
else{
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);
}
}else{
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);
}