(PHP 4, PHP 5)
readfile — Outputs a file
$filename
[, bool $use_include_path
= false
[, resource $context
]] )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
A context stream resource.
Returns the number of bytes read from the file. If an error
occurs, FALSE
is returned and unless the function was called as
@readfile(), an error message is printed.
Example #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));
ob_clean();
flush();
readfile($file);
exit;
}
?>
Exemplul de mai sus va afișa ceva similar cu:
Notă:
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().
Un URL poate fi utilizat în calitate de denumire a fișierului în această funcție dacă învelișurile fopen au fost activate. Accesați fopen() pentru mai multe detalii despre modul de specificare a denumirii fișierului. Accesați Supported Protocols and Wrappers pentru referințe la informații despre posibilitățile pe care le oferă diferite învelișuri, note despre utilizarea lor și informații despre variabile predefinite pe care le oferă.
Notă: Susținrea contextelor a fost adăugată începând cu PHP 5.0.0. Pentru o descriere a contextelor, referiți-vă la Streams.