Übermäßig große Dateien in PHP lesen
Obwohl beim Lesen mittelgroßer (6 MB) Dateien mit PHPs fopen Schwierigkeiten auftraten, sollten die Standardeinstellungen ausreichen . Es ist wichtig, weniger offensichtliche potenzielle Fehler zu untersuchen, bevor Sie sich mit speziellen Lösungen befassen.
Bedenken Sie Zeitüberschreitungen und Speicherbeschränkungen:
Überprüfen Sie die Zeitüberschreitungskonfiguration Ihres Skripts. Das Überschreiten der Standarddauer (häufig etwa 30 Sekunden) kann zu einer Unterbrechung während der Datei-E/A führen. Überprüfen Sie außerdem die Speichernutzung Ihres Skripts, um Warnungen auszuschließen, die auf Speicherbeschränkungen hinweisen. Das Lesen großer Dateien in Arrays erfordert möglicherweise eine erhöhte Speicherzuweisung.
Optimierung mit fgets:
Wenn die vorherige Diagnose keine Hinweise liefert, prüfen Sie die Möglichkeit, Dateien zeilenweise zu lesen -line mit der Funktion fgets. Dieser Ansatz verursacht einen geringeren Speicherbedarf, da Daten inkrementell verarbeitet werden:
$handle = fopen("/tmp/uploadfile.txt", "r") or die("Couldn't get handle"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); // Process buffer here.. } fclose($handle); }
Behebung zusätzlicher Fehler:
Die Fehlermeldung „PHP scheint keine auszulösen Fehler, es gibt nur false zurück“ kann verschiedene Probleme bedeuten:
Das obige ist der detaillierte Inhalt vonWie kann ich sehr große Dateien in PHP effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!