Manuel PHP

fread

(PHP 4, PHP 5)

freadLecture 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 lorsqu'une des conditions suivantes apparaît :

  • length octets ont été lus
  • la fin du fichier est atteinte
  • un paquet devient disponible (pour les flux réseaux)
  • 8192 octets ont été lus (après avoir ouvert un flux utilisateurs)

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

length

Taille length d'octets à lire.

Valeurs de retour

Retourne la chaîne lue, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fread()

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

Exemple #2 Exemple avec fread() et un fichier binaire

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().

  1. <?php
  2. $filename = "c:\\files\\somepic.gif";  
  3. $handle = fopen($filename, "rb");  
  4. $contents = fread($handle, filesize($filename));  
  5. fclose($handle);  
  6. ?> 

Exemple #3 Exemple avec fread() et un fichier distant

Avertissement

Lorsque vous lisez depuis n'importe quelle source qui n'est pas un fichier local, comme des flux retournés lors de la lecture de 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.

  1. <?php
  2. // Pour PHP 5 et suivant
  3. $handle = fopen("http://www.example.com/", "rb");  
  4. $contents = stream_get_contents($handle);  
  5. fclose($handle);  
  6. ?> 
  1. <?php
  2. $handle = fopen("http://www.example.com/", "rb");  
  3. $contents = '';  
  4. while (!feof($handle)) {  
  5. $contents .= fread($handle, 8192);  
  6. }  
  7. fclose($handle);  
  8. ?> 

Notes

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.

Note: Noter que la fonction fread() lit la position courante du pointeur de fichier. Utilisez la fonction ftell() pour trouver la position courante du pointeur et la fonction rewind() pour réinitiliaser la position du pointeur.


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique