我正在使用ubuntu和mktorrent,我想知道是否可以将mktorrent命令的输出实时传输到我的php应用中?这样我就可以观看创建torrent的状态了。
目前,exec
只是坐在那里等待(有时长达一小时:O),直到torrent完成制作为止。
PHP进程打开命令是否类似于此,还是我必须找出某种疯狂的ajax与一个屏幕会话设置?
PHP完全在服务器上执行,渲染后的页面会发送到您的浏览器。为了显示任何进度并进行更新,您需要反复请求服务器(或者让服务器通过套接字、长轮询等方式发送进度,但其基本思想相同)。
您需要一种方法让服务器从命令中发布进度更新,并使用某种JS(AJAX)与服务器通信以获取这些更新。
如果您可以让mktorrent命令将进度输出到文件中,您可以让php在页面加载时读取该文件并将其回显给用户。您可以使用简单的meta refresh标签在几秒钟后刷新进度页面。
有关在PHP中异步执行shell命令的信息,请参见Asynchronous shell exec in PHP。
meta
刷新标签,在几秒钟后刷新进度页面。 - sachleen