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()은 큰 파일을 보낼 때도 자체적으로 메모리 문제를 나타내지 않습니다. 메모리 부족 오류가 발생하면 ob_get_level()을 사용하여 출력 버퍼링이 꺼져 있는지 확인하십시오.
팁 fopen 래퍼가 활성화된 경우 URL을 이 기능과 함께 파일 이름으로 사용할 수 있습니다. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 다양한 래퍼가 가지고 있는 기능, 사용법에 대한 참고 사항, 제공할 수 있는 사전 정의된 변수에 대한 정보에 대한 링크는 지원되는 프로토콜 및 래퍼를 참조하세요.
기타
- fpassthru() - 파일 포인터에 남아 있는 모든 데이터 출력
- file() - 전체 파일을 배열로 읽습니다.
- fopen() - 파일 또는 URL을 엽니다.
- include - include
- require - require
- virtual() - Apache 하위 요청 수행
- file_get_contents() - 전체 파일을 문자열로 읽습니다.
- Supported Protocols and Wrappers