我正在PHP中使用其exec()
函数运行外部脚本。我正在寻找各种选项来创建进度条。我能够通过AJAX创建一个简单的旋转加载器,但我无法实现百分比进度条。有没有办法做到这一点?如何在PHP执行函数中显示进度条
1
A
回答
4
根据您要执行的程序,你可以使用proc_open()代替exec()
,这样你就可以proccess输出,计算百分比和使用ob_flush()扔回去给你的AJAX脚本, 。
在发送任何输出之前,您需要等待执行完成并不是真的,但您的服务器缓存配置和浏览器渲染引擎有一些警告,所以它不太可靠。
如果您不使用Websockets(干净和现代的选项,可以通过PHP使用Ratchet或使用各种选项使用nodejs来实现),那么执行所需操作的最可靠方法就是使用轮询。
简而言之,您不需要调用一次脚本,而是先执行第一个ajax请求来初始化进程,然后再次启动服务器,以询问脚本的执行状态。
欲了解更多信息,看看这些问题的答案:
Run process with realtime output in PHP
PHP - Flushing While Loop Data with Ajax
Grab results from a php exec() while the command is still running?
0
PHP在服务器上运行,因此不能实现这个(据我所知), 这里有一些回答的问题,可能会帮助你。
How to show loading status in percentage for ajax response?
Jquery:: Ajax powered progress bar?
相关问题
- 1. 在执行函数时显示jQuery进度条
- 2. 如何在BlackBerry中显示进度条?
- 3. 如何在Tolito进度条完成时执行jQuery函数?
- 4. 如何从模型中的函数显示进度条?
- 5. 显示javascript执行进度
- 6. 在预先执行的AsyncTask中没有显示进度条()
- 7. PHP函数进度条
- 8. 如何在WPF进度条中Indeterminate =“True”时显示进度?
- 9. 如何在webview上显示进度条?
- 10. 进度条未显示进度条
- 11. 显示进度条
- 12. PHP - 调度函数执行
- 13. 如何在android中的titleBar中显示进度指示器或进度条?
- 14. 如何在数据库操作的WPF中显示进度条?
- 15. C#在函数执行时填充进度条
- 16. 如何在java中执行mysql查询时运行进度条?
- 17. 在gulp流中显示进度条
- 18. Qt在Dock中显示进度条(macOS)
- 19. 在进度条中显示完成
- 20. 执行某些SQL查询时显示进度条
- 21. 显示Matlab指令执行的进度
- 22. 在jsp中,如何在上传文件时显示进度条
- 23. 显示Eclipse mini进度条?
- 24. WPF进度条未显示
- 25. 进度条不显示
- 26. 进度条不显示
- 27. Android:显示进度条
- 28. 显示进度条问题
- 29. 在android中执行插入语句时显示进度条时出现问题
- 30. 当shellexecute命令在MFC中执行批处理文件时显示进度条
PHP在服务器上执行,并完成之前不会返回任何值。 – 2015-04-03 17:56:50