PHP의 fflush
함수
fflush
함수는 PHP의 출력 버퍼를 강제로 비우는 역할을 합니다. 출력 버퍼는 데이터가 출력될 때까지 임시로 저장하는 메모리 공간입니다. fflush
함수를 사용하면 버퍼에 남아있는 데이터를 강제로 출력하고, 출력 버퍼를 비워서 웹 브라우저에 즉시 데이터를 전송할 수 있습니다.
fflush
함수의 사용 예시:
// 출력 버퍼 비우기
fflush();
// 또는 특정 파일 핸들의 출력 버퍼 비우기
$handle = fopen('example.txt', 'w');
fwrite($handle, 'Hello, World!');
fflush($handle);
fclose($handle);
다른 함수와 함께 사용하는 예시:
ob_flush()
함수와 함께 사용하기:
// 출력 버퍼 비우기
ob_flush();
flush()
함수와 함께 사용하기:
// 출력 버퍼 비우기
flush();
조건문과 반복문과 함께 사용하는 예시:
// 예시: 파일에 데이터를 한 줄씩 쓰고, 출력 버퍼를 비우기
$filename = 'example.txt';
$file = fopen($filename, 'w');
if (!$file) {
die("Error opening file");
}
for ($i = 1; $i <= 10; $i++) {
$data = "Line $i\n";
fwrite($file, $data);
// 5번째 줄마다 출력 버퍼 비우기
if ($i % 5 === 0) {
fflush($file);
}
}
fclose($file);
성능 향상을 위한 팁:
-
fflush
함수를 너무 빈번하게 사용하지 않도록 주의해야 합니다. 자주 호출하면 출력 속도가 저하될 수 있습니다. 적절한 위치에서만 사용하는 것이 좋습니다. -
대부분의 경우 웹 서버는 스크립트가 끝날 때 자동으로 출력 버퍼를 비웁니다. 그러나 큰 파일을 다운로드하는 경우에는 명시적으로
fflush
함수를 사용하여 출력 버퍼를 비워서 사용자에게 빠르게 데이터를 제공할 수 있습니다.
요약:
fflush
함수는 PHP의 출력 버퍼를 비우는 역할을 합니다. 웹 브라우저에 즉시 데이터를 전송할 때 유용하며, ob_flush()
나 flush()
와 함께 사용하여 출력 버퍼를 비울 수 있습니다. 주의할 점은 너무 빈번하게 호출하지 않도록 해야 하며, 큰 파일 다운로드 등에서 성능 향상을 위해 사용할 수 있습니다.