freadLecture du fichier en mode binaire
&reftitle.description;
stringfalsefreadresourcestreamintlengthfread lit jusqu'à length
octets dans le fichier référencé par stream.
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 ou le temps
socket timeout est passé (pour les flux réseau)
si le flux est lu depuis le buffer, et qu'il ne représente pas un fichier
plein, alors au moins une lecture d'un nombre d'octets équivalent à la taille
du bloc (habituellement 8192) est réalisée ; suivants les données du buffer
précédent, la taille des données retournées peut être supérieure à la taille
du bloc.
&reftitle.parameters;
stream
&fs.file.pointer;
length
Taille length d'octets à lire.
&reftitle.returnvalues;
Retourne la chaîne lue, &return.falseforfailure;.
&reftitle.examples;
Exemple avec fread
]]>
Exemple avec fread et un fichier binaire
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 avec fread et un fichier distant
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.
]]>
]]>
&reftitle.notes;
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.
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.
&reftitle.seealso;
fwritefopenfsockopenpopenfgetsfgetssfscanffilefpassthruftellrewindunpack