WernerK: Fatal error: Allowed memory size of 52428800 bytes exhausted

Beitrag lesen

HAllo Werner,

dann solltest du uns mal -zumindest von einem technischen Standpunkt betrachtet- verraten, was das für Dateien sind.

Kann alles Mögliche sein. Aufgetreten ist dies bei einer PDF Datei und einer POstscript Druckdatei.

Ist dir klar, was file() genau tut? Es erzeugt ein Array....

ja das ist / war mir klar.
Allerdings liegt hier vermutlich auch der Knackpunkt. Wenn ich die anstatt mit file() mit fopen arbeite, bekomme ich keine Probleme.

  
$fh = fopen($upload . "/" . $myfile,'r');  
if($fh){  
for ($i=0;$i<50;$i++){  
$inhalt[] = fread($fh,4096);  
}  
}  

Es muss also doch irgendwie am Dateiinhalt und am einlesen als Array liegen.

Die Frage wäre auch, wie man das Problem mit file() abfangen kann. Denn selbst wenn man vorher mit filesize() die Größe prüft, wäre das ja ok, weil das PHP Memorylimit ja bei 50 MB liegt und die Datei selbst nur 9 MB hat.

Gruss
Werner