Aktueller Standort: Startseite> Neueste Artikel> Wie arbeiten FTell- und Fread -Funktionen zusammen, um Daten an bestimmten Orten in einer Datei zu lesen?

Wie arbeiten FTell- und Fread -Funktionen zusammen, um Daten an bestimmten Orten in einer Datei zu lesen?

gitbox 2025-09-11

<?php // den Text starten Echo "

Wie arbeiten FTell- und Fread -Funktionen zusammen, um Daten an bestimmten Orten in einer Datei zu lesen?

"
; Echo "

In PHP müssen wir bei der Verarbeitung von Dateien manchmal Daten von einem bestimmten Ort in der Datei lesen. Die beiden Funktionen und Freead () können gut zusammenarbeiten, um diese Aufgabe zu erledigen.

"
; Echo "

1. ftell () Funktion

"
; Echo "

Ftell () wird verwendet, um den aktuellen Speicherort des Dateizeigers (in Bytes) zurückzugeben. Durch ftell () können wir wissen, wo die Datei derzeit gelesen wird.

"
; Echo "

2. freead () function

"
; Echo "

Fread () wird verwendet, um Daten einer bestimmten Länge aus einer Datei zu lesen. Die grundlegende Verwendung ist wie folgt:

"
; Echo "
FreeD (Ressource \ $ Handle, int \ $ Länge);
"
;
Echo "

Wo \ $ Handle die Dateiressource und \ $ Länge ist die Anzahl der zu lesen zu lesen.

"
; Echo "

3. Verwenden Sie Beispiele in Verbindung

"
; Echo "

Angenommen, wir haben ein Textdatei -Beispiel.txt und möchten 20 Bytes von Daten aus dem 10. Byte lesen:

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

if (\ $ Handle) {
    // Verschieben Sie den Dateizeiger in den 10. Byte fseek (\ $ Handle, 10);

    // Überprüfen Sie den aktuellen Standort \ $ Position = ftell (\ $ Handle);
    Echo &#39;aktuelle Zeigerposition:&#39;. \ $ Position. \"\\N\";

    // 20 Bytes lesen \ $ data = Fread (\ $ Handle, 20);
    Echo &#39;gelesen Daten:&#39;. \ $ Daten;

    fcLose (\ $ Handle);
} anders {
    Echo &#39;kann keine Datei öffnen&#39;;
}
"
;
Echo "

In diesem Beispiel:

"
; Echo "
  • Verwenden Sie FSEEK (\ $ Handle, 10), um den Dateizeiger in das 10. Byte zu verschieben.
  • Verwenden Sie FTell (\ $ Handle) , um die aktuelle Zeigerposition zu bestätigen.
  • Verwenden Sie FreeD (\ $ Handle, 20), um 20 Datenbytes aus der aktuellen Zeigerposition zu lesen.
"
Echo "

4. Zusammenfassung

"
; Echo "

Durch die Kombination von fseek () , ftell () und fread () können wir Daten überall in einer Datei genau lesen. Dies ist sehr praktisch, wenn wir mit großen Dateien behandelt werden oder bestimmte Inhalte überspringen müssen.

" ?>