2009-04-14 9 views
1

PHP 설치 스크립트의 순차 출력을 설정하는 가장 좋은 방법은 무엇입니까? 페이지가 있고 PHP 스크립트에서 제공하는 DIV 내에 점진적 출력을 표시하려고한다고 가정 해보십시오.PHP : 순차 출력을위한 최상의 방법?

<div id="output"> 
    <!-- Script Output Here --> 
</div> 

을 그리고 install.php 파일은 (테스트 용) 다음과 같습니다 :

그래서 page.html이 포함되어있을 수 있습니다

<?php 
// Turn off Output Buffering 
ob_end_flush(); 

// Begin Test Output (5 second intervals) 
echo 'Testing incremental output...' . "\n"; 
sleep(5); 
echo 'Step 1...' . "\n"; 
sleep(5); 
echo 'Step 2...' . "\n"; 
sleep(5); 
echo 'Complete!' . "\n"; 

내가 AJAX는 가장 좋은 방법이 될 수있다 생각하지만했다 어떻게 접근해야할지 모르겠다. JavaScript를 통해 "install.php"를로드하면 스크립트가 실행을 완료 할 때까지 모든 것을 되돌릴 수 없습니다 (정확합니까?). 이 작업은 이전에 완료된 것으로 보았지만 어떻게 수행되었는지에 대한 구체적인 예를 찾을 수 없습니다.

도움을 주셨습니다.

답변

2

아약스가 원하는대로 할 수 있을지 의심 스럽습니다. 대신 아약스를 더 자주 호출해야 할 수도 있습니다.

정보가 출력 되 자마자 정보를 출력하려면 보통 flush()이 필요합니다.

또한 출력을 GZipping (apache2)하여 버퍼링을 방지하기 위해 관련 .htaccess 파일에 행을 추가했습니다. 관련 PHP 파일에서

SetEnvIf Request_URI "/url/dont/buffer/me.php" gzip=0 

:

ini_set('output_buffering', false); 
ini_set('implicit_flush', 'true'); 

하고 적절한 호출 플러시(). 그것은 거의 모든 기반을 다룹니다.

-2

텍스트 파일에 모든 것을 출력하고 .txt 파일을 호출하여 AJAX를 통해 DIV를 업데이트합니다.

+0

꽤 털이 있습니다. 여러 명의 사용자가 있습니까? 그런 다음 여러 개의 텍스트 파일이 있습니다. 세션을 기준으로 텍스트 파일의 이름을 지정 하시겠습니까? 여러 탭은 어떨까요? 오, 나는 방금 0으로 나눈 것이다. – Anthony

+0

아, 그것을 망쳐 라. 설치 스크립트를 작성하고 애니메이션 GIF를 작성하십시오. 그것은 사용자에게 모두 동일합니다. – Calvin

관련 문제