打印程序在收到时输出到网页

时间:2011-02-23 03:26:12

标签: php javascript ajax web-applications frontend

老实说,我不知道之前是否曾经问过这个问题,或类似的问题。搜索这样的事情很难。

所以,这就是。我希望我的网页在服务器上运行一个程序(PHP将是正确的选择,是吗?),然后使用该程序的输出打印到网页。但是,程序不会同时打印所有输出,因此,当我以前尝试过它时,它会一直等到程序在打印输出之前成功退出,而不是在接收时打印它。 (这很有意义)

在返回每个新结果时,如何将输出打印到网页?也就是说,在显示网页之后,当程序输出文本行时,将条目添加到div中。

的Ajax? JavaScript的?我只是在寻找正确的方法,而不是代码。

2 个答案:

答案 0 :(得分:2)

就个人而言,我会用三个文件来做这件事:

  1. 正在服务器上运行的脚本( worker.php
  2. 客户端调用的php文件( index.php
  3. 处理来自index.php的ajax请求的第二个php文件( ajax.php
  4. 我的工作流程如下:

    1. 用户致电 index.php
    2. index.php 只对 worker.php 进行一次调用,后者开始将输出生成为文本文件( output.txt
    3. index.php 持续ping ajax.php ,看看是否有新内容添加到 output.txt ,并不断更新为更多输出可以
    4. worker.php 完成后,它会在文本文件中输出一个EOF信号,并在X秒后删除它。 (X的值大于ping到 ajax.php 文件的ping之间的延迟。)

答案 1 :(得分:0)

基本思路是打开子进程的管道并从中读取,就好像它是一个文件一样。 特别是对于PHP,请查看proc_open