我有一个处理文件下载请求的 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);
,您还可以像 question 中那样提供恢复下载的能力)。
然后在这个脚本中,当您读取最后一个 block 并发送它时,您就知道所有文件都已发送。这与知道已收到所有内容不同,但对于大多数情况来说应该足够了。
关于php - 如何检测用户何时成功完成php中的文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/194579/