Memory size?!
Einklappen
X
-
Das ist entweder nicht das komplette Script oder das falsche. Der Fehler tritt in Zeile 137 auf, deine Klasse hat aber nur 78 Zeilen.
-
Ich holzkopf danke ich werde es mal testen! Hoffe dann geht alles
Einen Kommentar schreiben:
-
Hast du nicht ImageDestroy($image) vergessen??
Und sollte nach der Ausgabe nicht besser sofort ein exit folgen?
Und wenn nicht, warum nicht?
Bzw. was ist $neu_date?? Wieso setzt du einen Header wenn $neu_date gefüllt ist?Zuletzt geändert von combie; 05.01.2008, 18:39.
Einen Kommentar schreiben:
-
Ich hab mein Script nunmal umgebaut!
meine Klasse sieht nun so aus:
PHP-Code:<?php
class image {
var $file_ori;
var $width;
var $height;
function image($file_ori)
{
$this->file_ori = $file_ori;
}
function resize($width, $height, $anderes){
$this->width = $width;
$this->height = $height;
}
function output_resized($neu_date, $art) {
$fehler = false;
$imagefile = $this->file_ori;
$imagesize = getimagesize($imagefile);
$imagewidth = $imagesize[0];$imageheight = $imagesize[1];
$imagetype = $imagesize[2];
$imagefilesize = filesize($imagefile);
if($imagefilesize <= '3145728')
{
switch ($imagetype){
case 1:
$image = imagecreatefromgif($imagefile);
break;
case 2:
$image = imagecreatefromjpeg($imagefile);
break;
case 3:
$image = imagecreatefrompng($imagefile);
break;
default: $fehler=true;
}
if(!$fehler)
{
$maxthumbwidth = $this->width;
$maxthumbheight = $this->height;
$thumbwidth = $imagewidth;
$thumbheight = $imageheight;
if ($thumbwidth > $maxthumbwidth){
$factor = $maxthumbwidth / $thumbwidth;
$thumbwidth *= $factor;
$thumbheight *= $factor;
}
if ($thumbheight > $maxthumbheight){
$factor = $maxthumbheight / $thumbheight;
$thumbwidth *= $factor;
$thumbheight *= $factor;
}
$thumb = imagecreatetruecolor($thumbwidth, $thumbheight);
imagecopyresampled( $thumb, $image, 0, 0, 0, 0, $thumbwidth, $thumbheight, $imagewidth, $imageheight);
header('Content-Type: image/png');
$thumbfile = $neu_date;
imagepng($thumb, $thumbfile);
ImageDestroy($thumb);
}
}
}
}
?>Zuletzt geändert von sHimp|1mp; 05.01.2008, 18:36.
Einen Kommentar schreiben:
-
wie sagte IchBinIch
.....Damit meinst du sicher image_destroy() .....
Einen Kommentar schreiben:
-
nach ein paar stunden
Doch nicht ein Script, was ein paar Stunden durchläuft?
Du meinst bestimmt was anderes!
Der Speicher wird nämlich automatisch nach jedem Scriptdurchlauf KOMPLETT freigegeben.
Dein Script braucht "manchmal" zuviel Speicher!
evtl. eine Bildbearbeitung oder nichtbeendete Rekursion.
Da hilft nur suchen... Der Fehler ist mit einer Glaskugel nicht zu finden.
Einen Kommentar schreiben:
-
Was hältst du davon, wenn du einfach das Problem behebst?
Der Fehler hat eine Ursache. Diese wird sogar recht genau angegeben. Also beheben und freuen...
Kann mir jemand sagen wie ich den speicher löschen kann?
Einen Kommentar schreiben:
-
Memory size?!
Hallo liebe PHP Community,
ich habe für eine community gebastelt allerdings stürtzt die nach ein paar stunden immer ab mit folgender begründung:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12288 bytes) in /srv/www/vhosts/ponoc.de/httpdocs/resize.class.php on line 137
Nach einer gewissen Zeit ider der memory wohl wieder leer und die seite läuft ganz normal weiter! Kann mir jemand sagen wie ich den speicher löschen kann? Oder eine andere möglichkeit?
Wäre über jede Idee dankbar!
Mit freundlich Grüßen
Malte FrerichsStichworte: -
Einen Kommentar schreiben: