(PHP 4, PHP 5, PHP 7)
readfile — Outputs a file
$filename
[, bool $use_include_path
= false
[, resource $context
]] )Reads a file and writes it to the output buffer.
filename
The filename being read.
use_include_path
You can use the optional second parameter and set it to TRUE
, if
you want to search for the file in the include_path, too.
context
A context stream resource.
Returns the number of bytes read from the file. If an error
occurs, FALSE
is returned and unless the function was called as
@readfile(), an error message is printed.
Example #1 Forcing a download using 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;
}
?>
위 예제의 출력 예시:
Note:
readfile() will not present any memory issues, even when sending large files, on its own. If you encounter an out of memory error ensure that output buffering is off with ob_get_level().
fopen 래퍼를 활성화하면, 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을 참고하십시오. 다양한 래퍼의 기능, 사용법, 제공하는 예약 정의 변수들에 대해서는 Supported Protocols and Wrappers를 참고하십시오.
Note: Context 지원은 PHP 5.0.0에서 추가되었습니다. contexts에 관한 자세한 설명은 Streams을 참고하십시오.