(PHP 4, PHP 5, PHP 7, PHP 8)
readfile — Outputs a file
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
Returns the number of bytes read from the file on success,
або false
в разі помилки
Під час збоїв буде видаватись E_WARNING
.
Приклад #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;
}
?>
Поданий вище приклад виведе щось схоже на:
Зауваження:
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().
URL як назву файлу можна використовувати з цією функцією, якщо ввімкнені обгортки fopen. Докладніше про те, як вказати назву файлу: fopen(). На сторінці Підтримувані протоколи та обгортки є посилання на інформацію про можливості різних обгорток, примітки щодо їхнього використання, інформацію про будь-які попередньо визначені цими обгортками змінні.