readfile 함수

(PHP 4, PHP 5, PHP 7, PHP 8)

readfile — 파일을 출력합니다.


설명

readfile(string $filename, bool $use_include_path = false, ?resource $context = null): int|false

파일을 읽고 출력 버퍼에 씁니다.


매개변수

filename
읽고 있는 파일 이름입니다.
use_include_path
include_path에서도 파일을 검색하려는 경우 선택적 두 번째 매개변수를 사용하고 true로 설정할 수 있습니다.
context
컨텍스트 스트림 리소스입니다.

반환 값

성공하면 파일에서 읽은 바이트 수를 반환하고 실패하면 false를 반환합니다.


오류/예외

실패 시 E_WARNING이 발생합니다.


Examples

예제 #1 readfile()을 사용하여 강제 다운로드

                  
<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

readfile function
노트

메모: readfile()은 큰 파일을 보낼 때도 자체적으로 메모리 문제를 나타내지 않습니다. 메모리 부족 오류가 발생하면 ob_get_level()을 사용하여 출력 버퍼링이 꺼져 있는지 확인하십시오.

fopen 래퍼가 활성화된 경우 URL을 이 기능과 함께 파일 이름으로 사용할 수 있습니다. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 다양한 래퍼가 가지고 있는 기능, 사용법에 대한 참고 사항, 제공할 수 있는 사전 정의된 변수에 대한 정보에 대한 링크는 지원되는 프로토콜 및 래퍼를 참조하세요.


기타