Главные новости

readfile

readfile

(PHP 4, PHP 5)

readfile — Выводит файл.

Описание

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Читает файл и записывает его в буфер вывода.

Список параметров

filename

Имя читаемого файла.

use_include_path

Вы можете установить в TRUE необязательный второй аргумент, если вы также хотите попытаться найти файл в include_path.

context

Ресурс (resource) с контекстом потока.

Возвращаемые значения

Возвращает количество прочитанных из файла байт. В случае возникновения ошибки вернёт FALSE, если только функция не была вызвана как @readfile(), и выведет сообщение об ошибке.

Примеры

Пример #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('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Диалог открытия / сохранения файла
 

Примечания

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Streams.

Смотрите также

  • fpassthru() - Выводит все оставшиеся данные из файлового указателя
  • file() - Читает содержимое файла и помещает его в массив
  • fopen() - Открывает файл или URL
  • include() включает и выполняет указанный файл.
  • require() идентично include() за исключением того, что при ошибке оно также выдаст фатальную ошибку уровня E_COMPILE_ERROR
  • virtual() - Выполняет подзапрос Apache
  • file_get_contents() - Читает содержимое файла в строку
  • Поддерживаемые протоколы и обработчики (wrappers)