Wie man eine große Datei Zeile für Zeile in PHP liest

Minahil Noor 30 Januar 2023
  1. Verwenden Sie die Funktion fgets(), um eine große Datei Zeile für Zeile in PHP zu lesen
  2. Verwenden Sie die Funktion file(), um eine große Datei Zeile für Zeile in PHP zu lesen
  3. Verwenden Sie die Funktion stream_get_line(), um eine große Datei Zeile für Zeile in PHP zu lesen
Wie man eine große Datei Zeile für Zeile in PHP liest

In diesem Artikel stellen wir Methoden vor, um eine große Datei Zeile für Zeile in PHP zu lesen.

  • Verwendung der Funktion fgets()
  • Verwendung der Funktion file()
  • Verwendung der Funktion stream_get_line()

Verwenden Sie die Funktion fgets(), um eine große Datei Zeile für Zeile in PHP zu lesen

Die eingebaute Funktion fgets() liest eine Zeile aus einer geöffneten Datei. Wir können diese Funktion verwenden, um eine große Datei Zeile für Zeile zu lesen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt.

fgets($fileName, $lengthOfFile);

Die Funktion fgets() hat zwei Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$fileName obligatorisch Es ist die Datei, die wir Zeile für Zeile lesen wollen.
$lengthOfFile optional Sie gibt Auskunft über die Länge der zu lesenden Datei. Sein Standardwert ist 1024 Bytes.

Diese Funktion gibt bei Erfolg eine Zeichenkette von lengthOfFile -1 aus der vom Benutzer angegebenen Datei zurück. Bei einem Fehlschlag gibt sie False zurück.

Das Programm unten zeigt, wie wir die Funktion fgets() benutzen können, um eine große Datei Zeile für Zeile zu lesen. Wir werden die Funktionen fopen() und fclose() verwenden, um eine Datei zu öffnen bzw. zu schließen. Wir haben eine Textdatei namens flowers.txt, die die Details der Blumen enthält.

<?php 
if ($file = fopen("flowers.txt", "r")) {
    while(!feof($file)) {
        $line = fgets($file);
       echo ("$line");
    }
    fclose($file);
}   
?> 

Wir haben die Funktion feof() benutzt, um die Datei bis zum Ende zu lesen. Die Ausgabe zeigt den Inhalt der Datei, die Zeile für Zeile gelesen wurde.

Ausgabe:

fgets-Funktion, um eine große Datei Zeile für Zeile in PHP zu lesen

Verwenden Sie die Funktion file(), um eine große Datei Zeile für Zeile in PHP zu lesen

In PHP können wir auch die Funktion file() verwenden, um eine Datei Zeile für Zeile zu lesen. Die Funktion file() liest eine Datei Zeile für Zeile in ein Array ein. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

file($fileName, $flags, $context)

Die Funktion file() akzeptiert drei Parameter. Die Parameter sind im einzelnen wie folgt

Parameter Beschreibung
$fileName obligatorisch Es ist der Pfad, in dem unsere Datei gespeichert ist.
$flags optional Er erzählt von den Konstanten, die wir als Flags für diese Funktion verwenden können. Sie können es hier lesen.
$context optional Es ist die Ressource, die Sie mit der Funktion stream_context_create() erstellen können.

Das Programm, das die Datei mit der Funktion file() liest, lautet wie folgt:

<?php 
foreach(file('flowers.txt') as $line) {
   echo $line. "\n";
} 
?> 

Verwenden Sie die Funktion stream_get_line(), um eine große Datei Zeile für Zeile in PHP zu lesen

Wir können auch die Funktion stream_get_line() verwenden, um eine Datei Zeile für Zeile zu lesen. Diese Funktion liest eine Datei bis zu einem Trennzeichen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

stream_get_line($handle, $length, $ending)

Die Funktion stream_get_line() akzeptiert drei Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$handle obligatorisch Es ist der Pfad, in dem unsere Datei gespeichert ist.
$length obligatorisch Sie gibt Auskunft über die Länge der zu lesenden Datei.
$ending obligatorisch Es handelt sich um eine Zeichenkette, die über das Trennzeichen Auskunft gibt.

Das Programm, das die Datei mit der Funktion stream_get_line() liest, lautet wie folgt:

<?php 
$file = fopen("flowers.txt", "r+");
while ($line = stream_get_line($file, 1024 * 1024, ".")) {
  echo $line;
}
fclose($file);
?> 

Ausgabe:

stream_get_line( Funktion, um eine große Datei Zeile für Zeile in PHP zu lesen

Hinweis
Das Trennzeichen . wird aus der Ausgabe entfernt.

Verwandter Artikel - PHP File