readfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readfileOutputs a file

Опис

readfile(string $filename, bool $use_include_path = false, ?resource $context = null): int|false

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

resource контекст потоку.

Значення, що повертаються

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;
}
?>

Поданий вище приклад виведе щось схоже на:

Open / Save dialogue

Примітки

Зауваження:

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(). На сторінці Підтримувані протоколи та обгортки є посилання на інформацію про можливості різних обгорток, примітки щодо їхнього використання, інформацію про будь-які попередньо визначені цими обгортками змінні.

Прогляньте також