タスクは、ファイルダウンロード数をカウントするコントローラを作成することです。また、失敗したダウンロードやキャンセルされたダウンロードを考慮に入れる必要があります。私は誰もがこれを達成するための最善の方法を知っていたのだろうかと思っていた。ファイルが実際に何回ダウンロードされたかを知るにはどうすればよいですか?
その後$file = $_GET['download'];
if (ob_get_level()) {
ob_end_clean();
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
return filesize($file);`
$size = filesize($file);
与えられたバイト数は、ファイルサイズとほぼ等しい場合:
if ($size < given bytes) {
$handle = fopen("counter.txt", "r");
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$buffer=$buffer+1;
}
fclose($handle);
$fp = fopen("counter.txt", "w");
$test = fwrite($fp, $buffer);
fclose($fp);
}
リンクをクリックした後、ユーザーにサーバーから送信されたバイト数を知るには?
ProTip:コードを8スペースでインデントしてリストに入れます(通常の4文字の代わりに) –