我正在开发一个基于PHP的简单网站
基本结构是:
它通过网络表单输入一些数据作为输入,交给某些人 要处理的shell脚本(通过system()函数)
处理结果写入.txt文件
然后脚本读取该文件并显示在浏览器中
切换完成后,生成.txt文件大约需要2-3秒
有没有正确的方法让PHP等待生成文件?
目前我将PHP脚本暂停5秒钟,然后读取文件存在。这显然不是一个好主意,因为每次执行PHP脚本时,无论实际需要什么时间,都需要5秒钟。
如果相关的话,在Ubuntu上运行Apache
答案 0 :(得分:3)
简单回答:请勿使用system()
,请在不重定向到文件的情况下使用exec():
$foo = array();
exec('ls', $foo);
$output = implode("\n", $foo);
答案 1 :(得分:1)
我认为最好的解决方案是在每隔几秒运行的页面上抛出一个Javascript ajax调用,以查找更新的文件。一旦发现循环停止并且页面刷新。