Fonctions sur les systèmes de fichiers
PHP Manual

readfile

(PHP 4, PHP 5)

readfileAffiche un fichier

Description

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

Lit un fichier et l'envoie dans le buffer de sortie.

Liste de paramètres

filename

Le fichier à lire.

use_include_path

Vous pouvez utiliser le deuxième paramètre optionnel pour explorer le dossier include_path, en passant la valeur de TRUE.

context

Une ressource de contexte.

Valeurs de retour

Retourne le nombre d'octets lus depuis le fichier. Si une erreur survient, retourne FALSE, et à moins que la fonction n'ait été appelée avec @ readfile(), un message d'erreur est affiché.

Exemples

Exemple #1 Forcer le téléchargement en utilisant 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('Content-Transfer-Encoding: binary');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($file));
    
ob_clean();
    
flush();
    
readfile($file);
    exit;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fenêtre d'ouverture / de sauvegarde

Notes

Note:

readfile() ne présentera pas de problème mémoire, même lors de l'envoi de gros fichiers. Si vous rencontrez ce type de problème, assurez-vous que la mise en mémoire tampon de la sortie est désactivée avec la fonction ob_get_level().

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activé. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Reportez-vous aux Liste des protocoles et des gestionnaires supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Flux.

Voir aussi


Fonctions sur les systèmes de fichiers
PHP Manual