Fatal error: Allowed memory size of

Tags:    php

jeg bliver ved med at få følgende: Fatal error: Allowed memory size of bla bla bla.. Har php-mem på 25mb.. Og så fejler den ved at oploade et billede på 600kb og lave en thumb på 50x50px med en kvalitet på 10... kan det virkelig være rigtigt og er der noget jeg kan gøre??

vh
p



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Har du noget kode?



Har du prøvet at skrue memory_limit vildt op?
Eks.
ini_set('memory_limit','128M');

Som skal indsættes i toppen af filen.



Indlæg senest redigeret d. 16.04.2009 07:42 af Bruger #10216
Der er alle scripts.. Ligeså snart den skal lave thumb.. men f.eks.:

<?php
//SETTINGS
$uploadDir = 'upload/'; //Bibliotek, hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?
//THUMBS SETTINGS
$thumbDir = 'thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix = 'thumb_'; //Hvad skal tilføjes til originalt filnavn?
$thumbHeight = 800; //Thumb højde
$thumbWidth = 800; //Thumb bredde
$thumbQuality = 85; //Kvalitet af thumb, kan være fra 0 - dårligt til 100 - bedst

//Funktioner som bruges:
function getExtension($filename){
return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}

function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 )
{
$extension = getExtension($filename);
switch($extension)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$srcim = imagecreatefromjpeg( $filename );
break;
case 'gif':
$srcim = imagecreatefromgif( $filename );
break;
case 'png':
$srcim = imagecreatefrompng( $filename );
break;
default:
return false;
}
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = min( $hscale, $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
switch($extension)
{
case 'jpeg':
case 'jpe':
case 'jpg':
imagejpeg( $dstim, $newfilename, $quality );
break;
case 'gif':
imagegif( $dstim, $newfilename );
break;
case 'png':
$png_q = floor( abs( $quality / 10 - 9.9 ) );
imagepng( $dstim, $newfilename, $png_q );
break;
default:
return false;
}
imagedestroy( $dstim );
imagedestroy( $srcim );
return file_exists($newfilename);
}

//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
//Har vi en fil?
if(is_uploaded_file($_FILES['myFile']['tmp_name']))
{
//Filendelse
$extension = getExtension($_FILES['myFile']['name']);

//Er filen en af de filer vi gerne vil have?
if(in_array($extension,$allowedFileTypes))
{
//Vi flytter filen fra tmp til vores UPLOADDIR
if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
{
if(resize($uploadDir . basename($_FILES['myFile']['name']), $thumbDir . $thumbPrefix . basename($_FILES['myFile']['name']), $thumbWidth, $thumbHeight, $thumbQuality)){
echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded and resized succesfully</h3>';
}else{
echo '<h3 style="color:red;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully, but resize failed</h3>';
}
}
else
{
echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
}
}
else
{
echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
}
}
else
{
echo '<h3 style="color:red;">No file selected<h3>';
}
}

//Vores form
echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload file">';
echo '</form>';

?>



Har prøvet og det virker ikke.. Det er ved web10... Hvad ¤&#%/#%/# skal man med et webhotel der ikke kan det.. Har lige været ved one... Der kunne man ikke lave thumbs af billeder der indeholdt exif-data.. Hvad sker der for de hoteller...



t