如何检测用户在php中成功下载文件的时间

如何检测用户在php中成功下载文件的时间,php,http-headers,attachment,Php,Http Headers,Attachment,我有一个php页面,可以处理文件下载的请求。我需要能够检测文件何时已成功下载。如何做到这一点?也许有某种方法可以检测这个客户端,然后向服务器发送确认 谢谢 编辑: 通过句柄,我的意思是页面正在执行以下操作: $file = '/var/www/html/file-to-download.xyz'; header('Content-Type: application/octet-stream'); header('Content-Length: ' . filesize($file));

我有一个php页面,可以处理文件下载的请求。我需要能够检测文件何时已成功下载。如何做到这一点?也许有某种方法可以检测这个客户端,然后向服务器发送确认

谢谢

编辑: 通过句柄,我的意思是页面正在执行以下操作:

$file = '/var/www/html/file-to-download.xyz';
  header('Content-Type: application/octet-stream');
  header('Content-Length: ' . filesize($file));
  header('Content-Disposition: attachment; filename=' . basename($file));
  readfile($file);

在一个单独的php脚本中处理下载(最好做的不仅仅是
readfile($file);
,您还可以像这样提供继续下载的功能)。
在这个脚本中,当您读取最后一个块并发送它时,您知道所有文件都已发送。这与知道所有内容都已收到并不相同,但对于大多数情况来说应该足够了。

Treb说了什么,但我应该补充一点,您可以检查客户端在下载过程中是否仍在侦听

不要忘了
flush()
将数据写入客户端后,它有助于检测连接是否仍在运行