2011-02-23 99 views
1

我老老實實地不知道這個問題之前曾問過,或類似的東西。很難搜索這樣的事情。打印程序輸出到網頁,因爲它收到

所以,在這裏去。我希望我的網頁在服務器上運行一個程序(PHP將是正確的選擇,是嗎?),然後使用該程序的輸出打印到網頁。但是,程序不會立即打印輸出,因此,當我以前嘗試過時,它會一直等到程序在打印輸出前成功退出,而不是在收到打印時纔打印輸出。 (這是有道理的)

一個如何去打印輸出到網頁,因爲每個新的結果返回?也就是說,在顯示網頁後,當程序輸出文本行時,將條目添加到div中。

Ajax? JavaScript的?我只是在尋找什麼是正確的方式去做,而不是代碼。

回答

2

就個人而言,我會做這三個文件:

  1. 腳本中的服務器中正在運行(worker.php
  2. PHP文件由客戶端調用(的index.php
  3. 第二PHP文件以處理從index.php的AJAX請求(ajax.php

我的工作流程是如下:

  1. 用戶來電的index.php
  2. 的index.php使得以worker.php,誰開始產生輸出到一個文本文件的單個調用(output.txt的
  3. 的index.php不斷地坪ajax.php看到什麼新的東西是否已經添加編到output.txt的,不斷更新,因爲更多的輸出是可用的
  4. worker.php完成,它輸出在文本文件的EOF信號,並將其刪除後的X秒。 (X是比ping之間的延遲大一些的值,其值大於ajax.php文件。)
0

基本的想法是你打開一個管道到子進程,並從它讀取,就像它是一個文件。 對於PHP尤其如此,請看proc_open