Avatar billede JJ77 Juniormester
31. august 2006 - 20:22 Der er 10 kommentarer og
1 løsning

Fejlmeddelelse ved upload af billede

Er her nogen som forstår nedenstående fejl. Den kommer når jeg forsøger at uploade et billede med forholdsvis store dimensioner. Billedet fylder mindre end det maksimale i MB.

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 12288 bytes) in
Avatar billede mcgoat Nybegynder
31. august 2006 - 20:36 #1
har du upload scriptet vi kan se?
Avatar billede mcgoat Nybegynder
31. august 2006 - 20:38 #2
fandt lige noget:

This error message can spring up in a previously functional PHP script when the memory requirements exceed the default 8MB limit. Don't fret, though, because this is an easy problem to overcome.

ini_set("memory_limit","12M"); // set to 12MB instead
Avatar billede mcgoat Nybegynder
31. august 2006 - 20:38 #3
Avatar billede JJ77 Juniormester
31. august 2006 - 20:48 #4
som du kan se i fejlmeddelelsen er min memory limit jo på 16 M.. det er sku mystisk ik?

Uploadkoden kommer her:

<?php
ini_set("memory_limit","16M");
session_start();
?>

<?PHP
ini_set("memory_limit","16M");
require_once("../members/common.php");

function resize( $filename, $newfilename, $maxw, $maxh )

{
    $result = false;

    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $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 );
    $result = imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return $result;
}

$allowPics = array("jpg","jpeg","jpe","JPG","JPEG","JPE");


    if(mysql_affected_rows()>0)
    {

        $errmsg = "";
        $artikelID = mysql_insert_id();
        for($i = 1; $i <= 1; $i++)

        {
                //HACK
    $size = getimagesize($_FILES['imagefile']['tmp_name'][$i]);
                       
            if($_FILES['imagefile']['size'][$i] > 2048000 || $size[0] > 4000 || $size[1] > 3000)

            {

$errmsg .= "Billede " . $i . " er for stort, max 1024000 bytes og dimensioner: 4000x3000 pixels!<br>";

            }

            else

            {

                $extension = strtolower(end(explode(".",$_FILES['imagefile']['name'][$i])));

                if(!in_array($extension,$allowPics))

                {   

                    $errmsg .= "Billede " . $i . " er forkert type, kun jpeg!<br>";

                }

                else

                {

              $dato = date("y-m-d h:i:s");

                    resize($_FILES['imagefile']['tmp_name'][$i],"latest.img",350,350);
                    $instr = fopen("latest.img","rb");
                    $image = addslashes(fread($instr,filesize("latest.img")));               

mysql_query ("insert into billeder_salgAfProdukt (id, artikelid, pic, oprettetDato) values ('', ".$artikelID.",'".$image."','.$dato.')") or die(mysql_error());

                }
            }
        }
Avatar billede mcgoat Nybegynder
31. august 2006 - 20:49 #5
hvad sker der hvis du sætter den til 32 så? heh... kigger lige koden igennem og ser om jeg kan se noget leak
Avatar billede JJ77 Juniormester
31. august 2006 - 20:50 #6
det har ikke ændret noget, om den så er væk eller sat på 64M. Serverens opsætning er sat på memory limit 16M.
Avatar billede mcgoat Nybegynder
31. august 2006 - 20:56 #7
bruger du php4 eller 5?
Avatar billede JJ77 Juniormester
31. august 2006 - 21:00 #8
5
Avatar billede JJ77 Juniormester
31. august 2006 - 21:01 #9
er lige væk 1 times tid.. sorry
Avatar billede JJ77 Juniormester
31. august 2006 - 21:58 #10
Back in business:-)
Avatar billede JJ77 Juniormester
31. august 2006 - 23:10 #11
Hej igen.. skrev til webudbyderen, igen igen, og det lader sku ikke til at problemet kan løses... øv.. lukker så igen.. og tak for forsøget.
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