WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   php-skript zum extrahieren von jpegs aus cib-file (http://www.wcm.at/forum/showthread.php?t=227063)

restinpeace 02.03.2008 23:02

php-skript zum extrahieren von jpegs aus cib-file
 
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 = "";
}
?>

Sloter 03.03.2008 09:51

in der php.ini den Speicher raufsetzen

restinpeace 17.03.2008 22:29

... mit Speicher rauf
 
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 ?

gorie 18.03.2008 08:39

Re: php-skript zum extrahieren von jpegs aus cib-file
 
Zitat:

Original geschrieben von restinpeace

<?php
ini_set("memory_limit","128M"); # passt das an eure Karte an, wenn nötig
?>

Das File hat 1GB, php bekommt aber 128MB von dir...
kA ob ma das Speicherlimit quasi "ohne Limits" nach oben schrauben kann, doch versuchs einfach mal mit einer 0 hinter dem 128 :)

iG0r 18.03.2008 08:52

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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag