Position actuelle: Accueil> Derniers articles> Comment les fonctions FTell et Fread fonctionnent-elles ensemble pour lire les données à des emplacements spécifiques dans un fichier?

Comment les fonctions FTell et Fread fonctionnent-elles ensemble pour lire les données à des emplacements spécifiques dans un fichier?

gitbox 2025-09-11

<?php // démarrer le texte écho "

Comment les fonctions FTell et Fread fonctionnent-elles ensemble pour lire les données à des emplacements spécifiques dans un fichier?

"
; écho "

Dans PHP, lors du traitement des fichiers, nous devons parfois lire les données à partir d'un emplacement spécifique dans le fichier. Les deux fonctions et Fread () peuvent bien fonctionner ensemble pour terminer cette tâche.

"
; écho "

1. Ftell ()

"
; écho "

ftell () est utilisé pour renvoyer l'emplacement actuel du pointeur de fichier (en octets). via ftell (), nous pouvons savoir où le fichier est actuellement lu.

"
; écho "

2. FONDAD ()

"
; écho "

Fread () est utilisé pour lire les données d'une longueur spécifiée à partir d'un fichier. Son utilisation de base est la suivante:

"
; écho "
Fread (Resource \ $ Handle, int \ $ longueur);
"
;
Echo "

la manche \ $ est la ressource de fichier, et la longueur \ $ est le nombre d'octets à lire.

"
; écho "

3. Utiliser des exemples en conjonction

"
; écho "

Supposons que nous ayons un exemple de fichier texte.txt, et nous voulons lire 20 octets de données à partir du 10e octet:

"
; écho "
\ $ file = &#39;example.txt&#39;;
\ $ handle = fopen (\ $ file, &#39;r&#39;);

if (\ $ handle) {
    // déplace le pointeur de fichier vers le 10e octet fseek (\ $ manche, 10);

    // Vérifiez l&#39;emplacement actuel \ $ position = ftell (\ $ manche);
    Echo &#39;Position actuelle du pointeur:&#39;. \ $ position. \ "\\ n \";

    // Lire 20 octets \ $ data = fread (\ $ manche, 20);
    Echo «Données lues:». \ $ data;

    fclose (\ $ manche);
} autre {
    Echo «Impossible d&#39;ouvrir le fichier»;
}
"
;
Echo "

Dans cet exemple:

"
; echo "
  • Utilisez fseek (\ $ manche, 10) pour déplacer le pointeur de fichier vers le 10e octet.
  • Utilisez
  • FTell (\ $ manche
écho "

4. Résumé

"
; écho "

Par la combinaison de fseek () , ftell () et fread () , nous pouvons lire avec précision les données n'importe où dans un fichier. Ceci est très pratique lorsque vous traitez de fichiers volumineux ou devant sauter du contenu spécifique.

"
; ?>