![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 01.01.2004
Alter: 47
Beiträge: 60
|
![]() Ich hab das folgende PHP-Skript im Netz gefunden, welches ein cib-File hernimmt und daraus jpeg's extrahiert. Nun bin ich kein php-guru und bekomme folgende Fehlermeldung beim ausführen des programms:
F:\>php runme.php PHP Fatal error: Allowed memory size of 104461000 bytes exhausted (tried to allocate 1044618942 bytes) in F:\runme.php Das zu entpackende File hat 1 GB, offenbar gibt es Speicherprobleme. Wie bekomme ich die Sache in den Griff bzw. was macht das Skriptl genau ? Der ursprüngliche Auto ist nicht zu erreichen ! <?php ini_set("memory_limit","128M"); # passt das an eure Karte an, wenn nötig $image = "card_image.cib"; # Das Imagefile $x = implode("",file($image)); $jpgstring = chr(255).chr(216).chr(255).chr(224).chr(0).chr(16) ."JFIF"; $eop = chr(255).chr(217); $i = 0; while (strpos($x,$jpgstring)) { $i++; $beginn = strpos($x,$jpgstring); $rest = substr($x,$beginn+strlen($jpgstring),strlen($x)); $ende = strpos($rest,$eop); $bild = substr($x,$beginn,($ende-$beginn)); $x = $rest; $bfile = fopen($i.".jpg","wb+"); fwrite($bfile,$bild); fclose($bfile); echo "Bild ".$i." wieder hergestellt. "; $bild = ""; } ?> |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 05.01.2000
Beiträge: 3.812
|
![]() in der php.ini den Speicher raufsetzen
|
![]() |
![]() |
![]() |
#3 |
Jr. Member
![]() Registriert seit: 01.01.2004
Alter: 47
Beiträge: 60
|
![]() Ich hab in der php.ini den Speicher hinaugedreht, ebenso wie im Skript auch.
Trotzdem will PHP das File nicht verarbeiten, weil es nicht soviel Speicher reservieren kann. Ich hab einen Rechner mit 3 Gigabyte RAM. Was kann ich bloss tun ? |
![]() |
![]() |
![]() |
#4 | |
Master
![]() |
![]() Zitat:
kA ob ma das Speicherlimit quasi "ohne Limits" nach oben schrauben kann, doch versuchs einfach mal mit einer 0 hinter dem 128 ![]() |
|
![]() |
![]() |
![]() |
#5 |
Gesperrt
Registriert seit: 14.08.2003
Alter: 47
Beiträge: 915
|
![]() Vielleicht gibt es ein eigenständiges Programm, das du direkt mit PHP ausführen kannst. Würde zumindest das Speicherproblem beheben, ist vielleicht sogar schneller.
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|