14 Stimmen

Wie öffne ich in PHP eine Datei von Zeile X bis Zeile Y?

Das Nächste, was ich in den PHP-Dokumenten gesehen habe, ist das Lesen einer bestimmten Länge mit fread(), aber das legt nicht fest, von welcher Zeile aus zu starten ist. Irgendwelche anderen Vorschläge?

0voto

Andrew Vit Punkte 18653

Wenn Sie nach Zeilen suchen, können Sie fread nicht verwenden, da dies auf einem Byte-Offset beruht und nicht auf der Anzahl der Zeilenumbrüche. Sie müssen tatsächlich die Datei lesen, um die Zeilenumbrüche zu finden, daher ist eine andere Funktion besser geeignet. fgets liest die Datei zeilenweise. Werfen Sie das in eine Schleife und erfassen Sie nur die Zeilen, die Sie möchten.

0voto

thedp Punkte 8298

Ich hatte Angst davor... Ich nehme an, es ist dann Plan B :S

Für jede AJAX-Anfrage werde ich:

  1. Die Anzahl der Zeilen, die ich dem Client zurückgeben werde, in einen String einlesen.
  2. Den Rest der Datei in eine Temp-Datei kopieren.
  3. Den String an den Client zurückgeben.

Es ist umständlich und wahrscheinlich ziemlich langsam bei Dateien mit 10.000+ Zeilen, aber ich denke, es ist besser als immer wieder dasselbe zu lesen, zumindest wird die Temp-Datei mit jeder Anfrage kürzer... Nicht wahr?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X