라이브러리

[PHP] flush - 시스템 출력 버퍼 플러시




PHP의 Flush 함수

PHP의 `flush()` 함수는 현재 출력 버퍼를 즉시 출력합니다. 일반적으로 PHP는 출력 버퍼를 보관하고, 여러 요청을 처리한 후에 한 번에 출력합니다. 이 기능은 성능 향상을 위해 사용됩니다. 하지만, 이 기능을 사용할 때 주의할 점이 있습니다.

Flush 함수의 사용법


`flush()` 함수는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

flush();



Flush 함수의 예제


다음 예제는 `flush()` 함수를 사용하여 실시간으로 로그를 출력하는 예제입니다.

#hostingforum.kr
php

<?php

$fp = fopen('php://output', 'w');



while (true) {

    fwrite($fp, date('Y-m-d H:i:s') . "
");

    flush();

    sleep(1);

}



이 예제는 현재 시간을 1초마다 출력하고, `flush()` 함수를 사용하여 즉시 출력합니다.

Flush 함수의 주의점


`flush()` 함수를 사용할 때 주의할 점은 다음과 같습니다.

- `flush()` 함수는 PHP 4.3.0 이상에서만 사용할 수 있습니다.
- `flush()` 함수는 브라우저에서 즉시 출력되지 않을 수 있습니다. 브라우저는 캐시를 사용하거나, 출력 버퍼를 보관할 수 있습니다.
- `flush()` 함수는 성능에 영향을 줄 수 있습니다. 출력 버퍼를 즉시 출력하는 것은 CPU 자원을 많이 사용할 수 있습니다.

Flush 함수의 대안


`flush()` 함수를 사용하지 않고도 실시간으로 로그를 출력할 수 있습니다. 예를 들어, 다음 예제는 `ob_flush()` 함수를 사용하여 실시간으로 로그를 출력하는 예제입니다.

#hostingforum.kr
php

<?php

ob_start();



while (true) {

    echo date('Y-m-d H:i:s') . "
";

    ob_flush();

    sleep(1);

}



이 예제는 `ob_flush()` 함수를 사용하여 즉시 출력합니다. `ob_flush()` 함수는 출력 버퍼를 즉시 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색