加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 检查下载是否完成

发布时间:2020-12-13 13:11:03 所属栏目:PHP教程 来源:网络整理
导读:检测下载是否完成的最佳方法是什么,因为之后我想更新数据库. 我尝试了PHP手册中的一些代码,但它对我没有太大作用: header("Content-Type: application/octet-stream"); header("Content-Length: ".filesize($file)); header("Content-Disposition: attachme
检测下载是否完成的最佳方法是什么,因为之后我想更新数据库.

我尝试了PHP手册中的一些代码,但它对我没有太大作用:

header("Content-Type: application/octet-stream"); 
header("Content-Length: ".filesize($file)); 
header("Content-Disposition: attachment; filename=$filename");

// buffered read not using readfile($file);

if ($fp = fopen($bestand,'rb')) {
    while (!feof($fp)) {
        $buf = fread($fp,4096);
        echo $buf;
        $bytesSent += strlen($buf);    /* We know how many bytes were sent to the user */
    }     
 }

if ($bytesSent == filesize($fp)) {
    //do something with db
}
这并不是真的会告诉你是否为用户完成了下载.它会告诉您何时完成向用户发送字节,但它没有说明用户实际收到的字节数.

实际上,没有办法用PHP(服务器端,而不是客户端语言)来真正检测文件下载何时完成.您可以做的最好的事情是在数据库开始时将数据库记录下来.如果您绝对,完全且完全需要知道下载何时完成,则必须执行诸如嵌入Java小程序或使用Flash之类的操作.但是,就用户的可用性而言,通常这不是正确的答案(为什么要求他们安装Java或Flash只是为了从您那里下载内容?).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读