我正在尝试制作一个PHP下载器。

echo '<p>Downloading New Update</p>';
$newUpdate = file_get_contents('http://your-server.com/update.zip');
echo 'Done downloading';


当我运行脚本(假设zip需要很长时间才能下载)时,页面将加载直到完全下载,然后同时显示Downloading New UpdateDone downloading

我想要的是显示Downloading New Update在完成下载之前。如果是,则必须显示Done downloading

如何将这个脚本与Ajax,Jquery,Javascript结合使用,以创建一个更加动态的下载器?

最佳答案

简单的冲洗可能解决任务

echo '<p>Downloading New Update</p>';
flush();
$newUpdate = file_get_contents('http://your-server.com/update.zip');
echo 'Done downloading';


并且您需要确保此文本不在表格内。
然后浏览器应该使用渐进式渲染,而文本应该真正贴切。
您需要刷新的原因是,在满足特定条件之前,PHP实际上不会从echo()向浏览器发送文本,例如脚本完成或显式调用flush()

09-26 04:34