当前位置: 首页 > 面试题库 >

检查下载是否完成

爱唯
2023-03-14
问题内容

检测下载是否完成的最佳方法是什么,因为此后我想更新数据库。

我尝试了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只是为了从您那里下载内容?)。



 类似资料:
  • 我正在使用Ruby和aws sdk从S3下载一个文件夹。如何检查每个文件是否已成功下载?这只是检查本地计算机上是否存在文件吗?

  • 问题内容: 我有一个非常简单和标准的PHP强制下载脚本。 我如何检查是否/何时完成下载以便在客户端通知用户?我什至不需要实时显示进度,我只对非常具体的事件感兴趣:“下载完成时”。根据我的研究,由于没有事件,因此似乎必须从服务器端确定它,而且我认为不可能拦截浏览器事件。 因此,似乎最好的选择是通过某种客户端/服务器端交互比较发送到总字节的字节。我该如何检查从服务器发送的字节以进行PHP强制下载?是否

  • 所以我想知道,我想看看一个表是否已经被懒/急加载了,而没有在我检查时实际加载它。例如: 所以当我设置($this)时-

  • 问题内容: 想象一下,您单击页面上使用的元素,并想从结果页面中检索结果。如何检查以确保生成的页面已加载?我可以在处理页面和单击元素之间插入,但这似乎是一种非常丑陋且缓慢的方法。 问题答案: 设置然后在页面上搜索元素。从 setImplicitWaitTimeout(毫秒= 10000) 设置驱动程序在搜索元素时应等待的时间。当搜索单个元素时,驱动程序将轮询页面,直到找到一个元素或超时到期为止,以先

  • 问题内容: 因此,我正在使用下载管理器在我的应用程序中下载多个文件。开始某些活动之前,我需要这些文件才能完成下载。如何检查是否有活动的下载,所以我可以告诉用户等待下载完成。然后,当它们完成时,我需要使按钮可见。我已经用谷歌搜索过,甚至自己(盲目地)尝试了一些代码,但没有任何效果。如果有人可以向正确的方向推动我,我将不胜感激。 问题答案: 使用打听下载。调用时,返回值是下载的ID。您还可以按状态查询

  • 我需要在。我发现了这里提到的一种方法。它表明: 快照完成后,使用更新的白名单启动原始连接器 但是如何才能发现快照是否完整呢?