readfile

(PHP 4, PHP 5, PHP 7)

readfileOutputs a file

Descrierea

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

Reads a file and writes it to the output buffer.

Parametri

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.

Valorile întoarse

Returns the number of bytes read from the file on success, sau FALSE în cazul eșecului

Erori/Excepții

În cazul eșecului este emis un E_WARNING.

Exemple

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));
    
readfile($file);
    exit;
}
?>

Exemplul de mai sus va afișa ceva similar cu:

Open / Save dialogue

Note

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().

Sfat

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.

A se vedea și