Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
Zurück zur Übersicht
PHP: Eine große Datei öffnen ohne memory_limit Fehler zu bekommen
#Tutorials#PHP
Möchte man mit PHP große Dateien öffnen, so bekommt man schnell einen memory_limit Fehler, weil die Datei größer ist, als erlaubt. Mit folgender Klasse kann man diesen Fehler umgehen, da hier immer nur Zeile für Zeile gestreamt wird.
class LazyFile {
private $file;
function __construct($filename, $mode) {
$this->file = fopen($filename, $mode);
}
function lines() {
while (($line = fgets($this->file)) !== false) {
yield $line;
}
}
}
Möchte man das Ganze jetzt benutzen geht das wie folgt:
$file = new LazyFile('file.csv','r');
foreach ($file->lines() as $line) {
//do something
}
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar