【问题标题】:track php copy() with a progress bar使用进度条跟踪 php copy()
【发布时间】:2015-10-23 11:23:41
【问题描述】:

我可能在 SO 的其他地方跳过了它,但如果有办法以图形方式跟踪它?当我在本地服务器(note, not remotely) 上复制了≈300MB 媒体文件时,整个浏览器选项卡都很忙,只显示旋转的图标,直到复制完成。然后该页面仅在操作前显示任何用于显示(file size, destination space available, etc.) 的信息。任何提示将不胜感激。

【问题讨论】:

  • 嗯,(非常)老派的方法是在输出显示信息之后,但在复制命令之前刷新输出缓冲区。更好的方法是使用 ajax 发起请求,然后依次执行这两个步骤
  • 您能详细说明ajax copy() 的确切方法吗?

标签: php copy progress-bar


【解决方案1】:

因为 PHP 是服务器端的,所以它会在脚本完成时响应。 而不是介于两者之间。 浏览器选项卡正在等待服务器响应。

这意味着使用纯 PHP 是不可能的。

因此,如果您想跟踪进度,则需要使其异步。 我建议研究 AJAX。

【讨论】:

  • 一直在考虑它。但是你如何看到一个 ajax 调用专门检查本地的 copy() 呢?如果我说定期更新,例如初始页面上基于 CSS 的条的宽度百分比,我可以理解。但是这里...
  • 您可以制作一个单独的 PHP 文件来检查文件的大小。如果你用 AJAX 调用这个文件,你可以很容易地看到复制了多少字节。
  • 酷。会注意的!
  • "its not possible with pure PHP" 这是不正确的,可以通过刷新输出缓冲区来实现。以用户尝试重构旧(缓冲区刷新)代码为例,请参阅此当前问题。你是对的,但是 ajax 是更好的解决方案stackoverflow.com/questions/33301734/…
  • 好吧,你是对的。没想到缓冲区刷新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多