readfile
(PHP 4, PHP 5, PHP 7)
readfile — Выводит файл
Описание
$filename
, bool $use_include_path
= false
, resource $context
= ?
) : int|falseЧитает файл и записывает его в буфер вывода.
Список параметров
-
filename
-
Имя читаемого файла.
-
use_include_path
-
Если вы хотите, чтобы использовался поиск файла в include_path, установите этот параметр в
true
. -
context
-
Ресурс (resource) с контекстом потока.
Возвращаемые значения
Возвращает количество прочитанных из файла байт в случае успешного выполнения,
или false
в случае возникновения ошибки
Ошибки
В случае неудачного завершения работы генерируется ошибка уровня E_WARNING
.
Примеры
Пример #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().
Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в разделе Поддерживаемые протоколы и обертки.
Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания
контекстов
смотрите раздел Потоки.
Смотрите также
- fpassthru() - Выводит все оставшиеся данные из файлового указателя
- file() - Читает содержимое файла и помещает его в массив
- fopen() - Открывает файл или URL
- include - include
- require - require
- virtual() - Выполняет подзапрос Apache
- file_get_contents() - Читает содержимое файла в строку
- Поддерживаемые протоколы и обертки