문제

PHP에서 알아 차린 한 가지는 스크립트가 작동을 멈출 때까지 화면에 출력이 없다는 것입니다. 내가 작업중인 프로젝트의 경우 I I의 100 개가 넘는 항목 목록을 먹으며 각 항목에 대한 HTTP 요청을 수행하고 완료되면 각 항목의 상태, 성공 실패 등의 페이지가 표시됩니다.

내가 알고 싶은 것은 각 'foreach'루프의 결과가 발생할 때 출력하는 방법이 있는지 여부입니다. 따라서 화면을보고있는 사용자는 마법이 한 번 또는 5 줄에 한 줄에 한 줄이 발생합니다.

나는 이것을 Ajax 유형 요청으로 만 본 적이있다. 아마도 내가 원하는 대신 대신해야 할 일입니까? 누구든지 이것을하는 PHP 기능을 지적 할 수 있습니까?

도움이 되었습니까?

해결책

모든 스크립트 출력을 버퍼에 저장 한 다음 필요한 경우 버퍼를 플러시하는 것이 좋습니다.

예를 들어:

<?php

if (ob_get_level() == 0) ob_start();

$test = Array('one','two','three','four');
foreach ($test as $key=>$val)
{
    echo $test;
    ob_flush();
    flush();
}

ob_end_flush();

?>

mod_gzip가 비활성화되어 있는지 확인하십시오!

다른 팁

flush() 그렇게해야합니다. 그렇지 않으면 볼 수 있습니다 모든 출력 버퍼링 기능

사용 flush() 명령

나는 사용한다

flush(); @ob_flush();

출력 후.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top