ダウンロードごとの合計帯域幅使用量を数えようとしています。
たとえば、100 MB のファイルをユーザーに送信していて、ユーザーが途中でダウンロードを切断/停止した場合、実際には 50 MB しか使用されません。これを追跡する方法はありますか?
この例は、チュートリアルと sof に関する質問で見つけました。
if ($fd = fopen ($fullPath, "r")) {
//the next part outputs the file
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
header("Content-type: application/octet-stream");
header("Content-Disposition: filename=".$path_parts["basename"]."");
header("Content-length: $fsize");
header("Cache-control: private"); //use this to open files directly
while(!feof($fd)) {
$buffer = fread($fd, 2048);
echo $buffer;
}
}
fclose ($fd);
と