Avatar billede kack Nybegynder
15. april 2007 - 20:52 Der er 4 kommentarer

Allowed memory size of 16777216 bytes exhausted

Hejsa alle sammen. Jeg er i gang med at lave en side hvor mig i mine kammerater kan uploade billeder, fra diverse fester. Men kan ikke helt faa upload systemet til at virke.
Vil gerne have at billedet skat blive reziset 800x532, i stedet for der ligger de enorme billeder fra kameraet.
Men naar man trykker paa knappen, staar den et stykke tid og uploader og saa kommer denne fejl:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 11264 bytes) in /customers/kack.dk/kack.dk/httpd.www/Vaon/admin/billeder.php on line 31

Hvad kan jeg goere ved dette?

Her er min kode:

<?php
//Sender billedet ind
$limitedext = array(".jpg",".jpeg",".gif",".bmp");
$sizelimit = "ja";
$sizebytes = "2000000000";

$tid = md5(date('U'));

if($_POST['skriv']=="doit"){
if ($_FILES['file'] != "") {
  $ext=strrchr($_FILES['file']['name'],'.');
  $ext=strtolower($ext);
$filnavnet = $_SERVER["DOCUMENT_ROOT"] . "/Vaon/billeder/".$tid.$ext;



if (!in_array($ext,$limitedext) ) {
  die("Filen er en forkert filtype. De tiladte filtyper er bmp, gif og jpg/jpeg.");
}

if($ext==".bmp"){
if (($_FILES['file']['size'] > $sizebytes)) {
  die("Billedet er for stort. En fil må højest fylde 200000 kb.");
}
@copy($_FILES['file']['tmp_name'], $filnavnet) or die("Filen kunne ikke kopieres til serveren ".$filnavnet);
}else{


@copy($_FILES['file']['tmp_name'], $filnavnet) or die("Filen kunne ikke kopieres til serveren ".$filnavnet);
    #-+ Read the source image
    $src_img = ImageCreateFromJPEG($filnavnet);

    #Vælg bredden
    $tn_w = "800";
    $tn_h = "532";

    #Hent billedets bredde og højde
    $imginfo = getimagesize($filnavnet);
    $org_w= $imginfo[0];
    $org_h = $imginfo[1];

    #Beregn højden i forhold til bredden
    $tn_h = floor($tn_w * $org_h / $org_w);

    #Sæt det nye billede
    $dst_img = imagecreatetruecolor($tn_w,$tn_h);

    #Ændre det!
    ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $tn_w, $tn_h, $org_w, $org_h);

    #Gem det!
    ImageJPEG($dst_img, $filnavnet);

    #slet "midlertidige" filer fra serveren.
    imagedestroy($dst_img);
}
} else {
  die("Husk at vælge et Billede");
}
echo "<p />";
echo "Dit billede blev uploadet";
mysql_query("INSERT INTO vao_billeder (fest, billede) VALUES('$fest','$tid$ext')") or die(mysql_error());
}else{
?>
Avatar billede erikjacobsen Ekspert
15. april 2007 - 20:55 #1
PHP på webserveren har en begrænsning i hvor store billeder den kan arbejde med. Er det din egen webserver, kan du sikkert ændre det. Ellers upload mindre billeder.
Avatar billede erikjacobsen Ekspert
15. april 2007 - 20:56 #2
Ok - på b-one. Så er det i hvert fald en grænse du ikke kan få ændret ;(
Avatar billede kack Nybegynder
15. april 2007 - 21:00 #3
Arh hvor irriterende. Det var os meningen at jeg saa slap for selv at gaa ind og lave stoerelsen om paa alle billederne.
Men ved du forresten hvordan man saetter vandmaerke paa billederne? Altsaa saetter et andet billede i venstre top, af hvert billede man uploader?
Avatar billede erikjacobsen Ekspert
15. april 2007 - 21:01 #4
Nej, ikke umiddelbart - men er billedet tilstrækkeligt lille, så skulle det nok kunne lade sig gøre. Det ku' være den her kan bruges: http://www.sitepoint.com/article/watermark-images-php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester