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

标签 php http-headers attachment

我有一个处理文件下载请求的 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/

相关文章:

PHP 相当于 Python 的 func(*[args])

ajax - 跨域 AJAX 不发送 X-Requested-With header

ruby-on-rails - rails : paperclip and creation date based directory structure

附件上传完成前发送的 PHP 邮件

python - Twisted 中是否有用于使用 IMAP4 下载邮件附件的 API?

php - 在 codeigniter 中连接 3 个表

php - 如何使用php将照片上传到数据库和文件夹中

PHP 正则表达式有条件地从 HTML anchor 标记获取内容和链接

http-headers - HTTP header "Cache-Control: public"有什么风险?

java - 以编程方式设置 Jetty 配置以增加允许的 URL 长度