Avatar billede fixbabe Nybegynder
24. september 2010 - 11:26 Der er 15 kommentarer og
1 løsning

Resize billede uden brug af imagecreatefromjpeg

Jeg er løbet ind i problemer ifb. med en hjemmeside hostet hos one.com og har ikke muligheder for at ændre i php.ini eller lign.

Fejl: Fatal error: Out of memory (allocated 45088768) (tried to allocate 15488 bytes) in xxxxx

jeg ønsker en anden måde at resize et billede på.

Script:
function resize($input, $output, $width){
$srcim = imagecreatefromjpeg( $input );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $scale = $width / $ow;
    $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 );
    imagejpeg( $dstim, $output, 100 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return file_exists($output);
}
Avatar billede repox Seniormester
24. september 2010 - 11:32 #1
brug imagemagick istedet for GD lib.
Alternativt kan du hæve hukommelsesgrænsen via ini_set() eller .htaccess:
php_value memory_limit 32M
Avatar billede fixbabe Nybegynder
24. september 2010 - 12:27 #2
Som sagt så kan jeg ikke ændre på php.ini settings hverken med htaccess eller lign.
Avatar billede repox Seniormester
24. september 2010 - 12:31 #3
Må jeg lige se din phpinfo på den server du sidder på?
Avatar billede fixbabe Nybegynder
24. september 2010 - 12:55 #4
hvilken del af den vil du se? har ikke tænkt mig at poste hele biblen her :)
Avatar billede repox Seniormester
24. september 2010 - 13:00 #5
Et link til den ville være at foretrække...
Avatar billede michael_stim Ekspert
24. september 2010 - 13:18 #6
Er næsten sikker på jeg har en app et eller andet sted på one.com hvor jeg har hævet memory_limit.

Prøv at sætte det ind i den fil hvor du manipulerer/uploader imaget.

ini_set("memory_limit","32M"); //Eller hvor meget du nu vil have.
Avatar billede repox Seniormester
24. september 2010 - 13:29 #7
#6
Jeg tror nu også det er en fejl 40 fra OP's side at denne ikke kan få det til at virke...
Avatar billede coderdk Praktikant
24. september 2010 - 17:25 #8
Billedet er for stort, sitet er hostet på one.com og OP kan derfor ikke ændre php.ini (ej heller med ini_set).

repox nævner imagemagick, som du kan prøve - se evt. http://www.devarticles.com/c/a/PHP/PHP-Frontend-to-ImageMagick/
Avatar billede michael_stim Ekspert
24. september 2010 - 17:53 #9
#8
Som jeg skrev tidligere, har jeg haft held med at sætte memory_limit i ini_set på one.com. Er dog klar over at de har mange servere og at der måske ikke er mulighed for det på netop den server OP ligger på.
Avatar billede repox Seniormester
24. september 2010 - 20:12 #10
Jeg har nu aldrig hørt om en udbyder hvor det ikke er muligt at manipulere den indstilling via htaccess... og det tror jeg nu også vil virke på one.com.
Avatar billede fixbabe Nybegynder
27. september 2010 - 10:54 #11
Du får ikke noget link og du får heller ikke hele listen, så vælg hvad du vil se.
Avatar billede fixbabe Nybegynder
27. september 2010 - 10:57 #12
coderdk: Tak fordi der endelig er en der lytter.

og til jer andre kan jeg oplyse at jeg har forsøgt at ændre limit på alle tænkelige måder, jeg har til sidst haft fat i one's support for at få en løsning men de oplyste mig at de har låst muligheden for ændringer på nogen måde.
Avatar billede michael_stim Ekspert
27. september 2010 - 11:05 #13
Så er der jo kun 2 muligheder:

1. Som nævnt tidligere: ImageMagick
2. Upload mindre billeder
Avatar billede repox Seniormester
27. september 2010 - 11:14 #14
#11
Du er da vist lidt paranoid, hva'?

Til andre som er interesserede kan man finde one.com's PHP information ved at tilgå denne side: http://one-docs.com/php5/

Som det fremgår af den side, er one.com 'beskyttet' af Sohusin som ikke tillader at memory_limit bliver ændret. (læs: http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit )

Så har du kun imagemagick tilbage, hvis billedestørrelsen skal bevares.
Avatar billede repox Seniormester
04. oktober 2010 - 07:59 #15
Har du fået løst dit problem?
Avatar billede fixbabe Nybegynder
24. oktober 2010 - 00:54 #16
Nop
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