22 Stimmen

PHP: Unterschied zwischen fgets und fread

Frage von Compi | Letztes Update am 06.04.2021 | Erstellt am 13.06.2013

Ich möchte mit PHP eine Datei einlesen. Dabei habe ich in verschiedenen Scripten entweder Lösungen mit fgets() gesehen oder mit fread().

Was der genaue Unterschied ist, ist mir nicht so klar geworden. Ist eines der beiden schneller? Wann sollte man es verwenden und worin liegt der genaue Unterschied?

AntwortenPositivNegativ
3Beste Antwort5 Stimmen

Wann du welche der beiden Funktionen benutzen solltest, hängt von dem ab, was du tun möchtest:

  • Die Funktion fgets dient dazu, eine einzelne Zeile aus einem Textfile zu lesen. Sie liest solange, bis das Ende einer Zeile (oder das Ende des Files) erreicht ist. Willst du eine Zeile aus einer Textdatei lesen, benutzt du daher fgets.
  • Die Funktion fread liest nicht nur bis zum Ende einer Zeile, sondern bis zum Ende der Datei [z.B. fread($handle)] oder so viele Bytes, wie du als Parameter angibst [z.B. fread($handle, 1024)]. Wenn du also eine ganze Datei einlesen willst, sei es eine Textdatei mit allen enthaltenen Zeilen oder beliebige andere Rohdaten aus einer Datei, benutzt du fread.

Die Geschwindigkeit der beiden ist übrigens unbedeutend, beide sind gleich schnell. Bei der Wahl der Funktion ist nur wichtig, ob du zeilenweise oder nicht einlesen willst.
13.06.2013 um 20:52

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Upload großer Dateien

Tutorial | 0 Kommentare

PHP: Eine E-Mail versenden

Tutorial | 0 Kommentare

PHP: Datei Download Skript

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.