2011-05-07 2 views
2

PHP로 크롤러 스크립트를 작성하고 온라인으로 색인을 생성하는 페이지를 표시해야합니다. 그러나 PHP는 페이지를 실시간으로 업데이트하지 않으며, 때로는 함께 에코를 작성하고 로딩이 완료 될 때까지 기다려야합니다. 때로는 로딩을 마칠 때까지 페이지에 아무 것도 나타나지 않는 경우가 있습니다. 여기 PHP는 로딩이 완료 될 때까지 페이지를 업데이트하지 않습니다.

내가 무슨 말인지에 대한 예입니다

<?php 
echo '1<br>'; 
sleep(2); 
echo '2<br>'; 
sleep(2); 
echo '3<br>'; 
sleep(2); 
echo '4<br>'; 
?> 

나는 WAMP 및 램프를 시도하고 결과는 동일했다. 에코 실시간을 보여주는 방법이 있습니까?

참고 : an online crawler which has this feature을 찾았습니다.

답변

5

flush()을 사용해보세요.

또 다른 수동 방법은 ajax를 통해 또는 Comet과 같은 것을 사용하여 서버를 여러 번 쿼리하는 것입니다.

+0

덕분에 @chelmertz, 이것은 최고입니다. 나는 정확히 내가 원하는 것을 발견했다. http://se.php.net/manual/en/function.flush.php#58917 –

+0

@Burak Emre : 멋지다. 전에는 본 적이 없다. 고마워요 :) – chelmertz

1

페이지를 새로 고치기 위해 일부 JavaScript를 사용하고 각 루틴 이후에 필요한 PHP 함수를 실행하기 위해 호출 할 것을 제안합니다.

+0

예, 알아요,하지만 이것은 각 URL에 대한 결과를 저장해야하기 때문에 이것을하는 쓸데없는 방법입니다. –

+0

@ 부락 : "쓸모없는"것이 아닙니다. –

+1

내 진술을 반복하자. 자바 스크립트를 사용하여 페이지를 새로 고치고 각 URL에 대한 결과를 저장하는 작업을 수행하는 다른 PHP 페이지를 호출한다. – deadbrain

관련 문제