8.38 Système de fichiers
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Voir aussi . basename . chgrp . chmod . chown . clearstatcache . copy . delete . dirname . disk_free_space . disk_total_space . diskfreespace . fclose . feof . fflush . fgetc . fgetcsv . fgets . fgetss . file_exists . file_get_contents . file_put_contents . file . fileatime . filectime . filegroup . fileinode . filemtime . fileowner . fileperms . filesize . filetype . flock . fnmatch . fopen . fpassthru . fputcsv . fputs ->fread . fscanf . fseek . fstat . ftell . ftruncate . fwrite . glob . is_dir . is_executable . is_file . is_link . is_readable . is_uploaded_file . is_writable . is_writeable . link . linkinfo . lstat . mkdir . move_uploaded_file . parse_ini_file . pathinfo . pclose . popen . readfile . readlink . realpath . rename . rewind . rmdir . set_file_buffer . stat . symlink . tempnam . tmpfile . touch . umask . unlink
|
8.38.45 fread()Lecture du fichier en mode binaire[ Exemples avec fread ] PHP 3, PHP 4, PHP 5
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
lorsqu'un paquet devient disponible (le premier des trois).
Retourne la chaîne lue ou
FALSE
si une erreur survient.
| 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); ?>
|
| Attention | |
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
.
|
| Utilisation des fichiers binaires avec fread |
<?php $filename = "c:\\fichiers\\uneimage.gif"; $handle = fopen ($filename, "rb"); $contents = fread ($handle, filesize ($filename)); fclose ($handle); ?>
|
| Attention | |
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.
|
<?php // Pour PHP 5 et suivant $handle = fopen("http://www.example.com/", "rb"); $contents = stream_get_contents($handle); fclose($handle); ?>
|
<?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
.
|