라이브러리
[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()` 함수는 출력 버퍼를 즉시 출력합니다.
댓글목록
등록된 댓글이 없습니다.