Avatar billede nugie Nybegynder
25. januar 2007 - 18:32 Der er 5 kommentarer og
1 løsning

Fatal error ved resize af billeder.

Jeg kan godt uploade store billeder uden der kommer fejl, men lige så snart jeg prøver at resize dem får jeg følgende fejl:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 2400 bytes)

Resize:
function resize($pic,$place,$type,$width) {
    $size = getimagesize($pic);

    // Bredde
    if($width != "") {
        $new_width = $width;
        $faktor = $size[0] / $width;
        $new_height = $size[1] / $faktor;
    }
   
    // Ellers lav Thumb
    else {
        $new_width = 150;
        $new_height = 115;
    }

    if($type == ".jpg") { $pic_1 = imagecreatefromjpeg($pic); }
    elseif($type == ".png") { $pic_1 = imagecreatefrompng($pic); }

    $dest = imagecreatetruecolor($new_width, $new_height);
    imagecopyresized($dest, $pic_1, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]);

    if($type == ".jpg") { imagejpeg($dest,$place); }
    elseif($type == ".png") { imagepng($dest,$place); }
}

$pic = Det billed som skal resizes.
$place = Der hvor det resizede billede skal placeres.
$type = .jpg / .png
$width = Hvis billede skal have en bestemt bredde, ellers bliver der lavet et thumb billed.

Fejlen får jeg i denne linie:
$dest = imagecreatetruecolor($new_width, $new_height);

Jeg har webhotel hos b-one og har derfor ikke mulighed for at rette post_max_file og upload_max_filesize i php.ini filen.

Hvad kan man gøre for at løse det problem?
Avatar billede Slettet bruger
25. januar 2007 - 20:31 #1
Du er på røven ... hahaha... eventuelt kan du bede dine brugere om at uploade små/mindre billeder! Ellers find en anden host...

For at begrænse hvor store billeder dine brugere kan uploade så bruge følgende inde i formularen, så slipper de i det mindste for at vente!
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

http://es2.php.net/manual/en/features.file-upload.php
Avatar billede nugie Nybegynder
25. januar 2007 - 21:20 #2
Når man har mulighed for at uploade store billeder må man da også ha mulighed for at resize dem uden at den laver fejl?
Avatar billede Slettet bruger
25. januar 2007 - 21:39 #3
desværre hænger tingene ikke sammen på den måde... du skal tænke på at b-one formentligt har 1000 kontoer eller flere som din kørende på samme server: Derfor er de nød til at begrænse hvor meget hukommelse der bliver brugt på serveren. Alting har en pris og det du ønsker koster mere end 10 kr / måned.
Avatar billede nugie Nybegynder
25. januar 2007 - 22:28 #4
Det har du ret i, men jeg forstår ikke hvorfor det resize bruger så meget hukommelse. Hvis jeg uploader en fil på 300kb laver den fejl. Limit er jo 2mb?
Avatar billede coderdk Praktikant
25. januar 2007 - 23:31 #5
En JPEG er et komprimeret billede. For at behandle det skal det afkomprimeres, derfor fylder et 300 KB billede meget mere i hukommelsen.
Avatar billede nugie Nybegynder
26. januar 2007 - 10:24 #6
Okay.. Det lyder som om det ikke kan lade sig gøre så. Så må jeg finde på andre måder..
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