Funciones del Sistema de Archivos
PHP Manual

readfile

(PHP 4, PHP 5)

readfileRealizar la salida de un fichero

Descripción

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

Lee un fichero y lo escribe en el buffer de salida.

Parámetros

filename

El nombre de fichero a ser leído.

use_include_path

Se puede usar el segundo parámetro opcional y establecerlo a TRUE si se desea buscar también el fichero en include_path.

context

Un resource de flujos de contexto.

Valores devueltos

Devuelve el número de bytes leídos del fichero. Si se produjo un error, devuelve FALSE y, a menos que la función fuese llamada como @ readfile(), se imprime un mensaje de error.

Ejemplos

Ejemplo #1 Forzar un descarga usando readfile()

<?php
$fichero 
'mono.gif';

if (
file_exists($fichero)) {
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename='.basename($fichero));
    
header('Content-Transfer-Encoding: binary');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($fichero));
    
ob_clean();
    
flush();
    
readfile($fichero);
    exit;
}
?>

El resultado del ejemplo sería algo similar a:

Diálogo de Abrir / Guardar

Notas

Nota:

readfile() no expondrá cuestiones de memoria, incluso al enviar ficheros grandes, por sí sola. Si se encuentra un error de memoria insuficiente asegúrese que el buffer de salida está desactivado con ob_get_level().

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Ver también


Funciones del Sistema de Archivos
PHP Manual