Funciones del Sistema de Archivos
PHP Manual

readfile

(PHP 4, PHP 5)

readfileTransmite un archivo

Descripción

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

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

Parámetros

filename

El nombre de archivo que va a ser leído.

use_include_path

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

context

Un resource de flujo de contexto.

Valores devueltos

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

Ejemplos

Example #1 Forzar un descarga usando readfile()

<?php
$archivo 
'mono.gif';

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

El resultado del ejemplo sería algo similar a:

Diálogo de Abrir / Guardar

Notas

Tip

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte Lista de Protocolos/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.

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

Ver también


Funciones del Sistema de Archivos
PHP Manual