(PHP 4, PHP 5, PHP 7, PHP 8)
readfile — Affiche un fichier
Description
readfile(string
$filename, bool
$use_include_path =
false, ?resource
$context =
null): int|false
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
-
Note:
Une resource de contexte de flux.
Valeurs de retour
Retourne le nombre d'octets lus depuis le fichier
en cas de succès, ou false si une erreur survient
Erreurs / Exceptions
En cas d'échec, une alerte de type E_WARNING sera émise.
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('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
?>
Résultat de l'exemple ci-dessus est similaire à :
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 les variables prédéfinies qu'elles fournissent.
Voir aussi
- fpassthru() - Affiche le reste du fichier
- file() - Lit le fichier et renvoie le résultat dans un tableau
- fopen() - Ouvre un fichier ou une URL
- include - include
- require - require
- virtual() - Effectue une sous-requête Apache
- file_get_contents() - Lit tout un fichier dans une chaîne
- Liste des protocoles et des gestionnaires supportés