说,我的PHP脚本需要一些时间来计算其操作。我需要让客户了解操作进度。一个例子可以是基于PHP的文件下载,我需要向客户提供完成下载所需的估计时间,以及需要复制的数据量。
在PHP中,我可以计算所有需要的信息。但是,如何使用此信息定期更新客户端?
理想情况下,我想从PHP脚本中动态更新JavaScript变量。我读到这是不可能的,那么我有什么选择呢?
我想到的可能性:
上述两种可能性是否有意义?还有其他更实用的解决方案吗?
提前谢谢。
答案 0 :(得分:1)
是的,这两个选项都有意义。
有许多不同的COMET风格技术,但最简单的一种是长期运行的iframe
。你有一个监控操作进度的PHP页面,并定期输出这样的内容:
<script>parent.updateProgress(relevantUpdateInfo);</script>
...其中relevantUpdateInfo
是有关进度的信息,updateProgress
是包含iframe
的页面上的全局函数,用于显示UI中的更新信息。
输出script
代码时,请务必flush
输出。