fread

(PHP 3, PHP 4 , PHP 5)

fread -- Lecture du fichier en mode binaire

Description

string fread ( resource handle, int length )

fread() lit jusqu'à length octets dans le fichier référencé par handle. La lecture s'arrête lorsque length octets ont été lus, ou que l'on a atteint la fin du fichier, ou qu'une erreur survient (le premier des trois).

Exemple 1. Exemple avec fread()

<?php
// Lit un fichier, et le place dans une chaîne
$filename = "/usr/local/something.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
?>

Avertissement

Sur les systèmes qui différencient les fichiers textes et binaires (i.e. Windows) le fichier doit être ouvert avec la lettre 'b' ajoutée au paramètre de mode de la fonction fopen().

Exemple 2. Utilisation des fichiers binaires avec fread()

<?php
$filename
= "c:\\fichiers\\uneimage.gif";
$handle = fopen ($filename, "rb");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
?>

Avertissement

Lorsque vous lisez depuis un flux réseau, ou un pipe, tel que ceux utilisés pour les accès aux fichiers distants ou depuis popen() et fsockopen(), la lecture s'arrête après la réception d'un paquet. Il faut donc faire des boucles pour collecter les données par paquet, comme présenté ci-dessous.

Exemple 3. Utilisation des flux distants fread()

<?php
$handle
= fopen("http://www.example.com/", "rb");
$contents = '';
while (!
feof($handle)) {
  
$contents .= fread($handle, 8192);
}
fclose($handle);
?>

Note : Si vous voulez lire le contenu d'un fichier dans une chaîne de caractères, utilisez plutôt file_get_contents() qui est bien plus rapide que le code ci-dessus.

Voir aussi fwrite(), fopen(), fsockopen(), popen(), fgets(), fgetss(), file() et fpassthru().