Выводит файл


(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('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, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

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

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