PDA

Bekijk Volledige Versie : php foto's verkleinen



Kees Van Singeren
14/06/09, 09:05
Goedemorgen,

Ik probeer foto's tye uploaden en daarna verkleinen via een php script
echter bij het verkleinen krijg ik de volgende melding:


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to
allocate 3072 bytes) in
/var/www/vhosts/xxxxxxx.nl/httpdocs/upload/imageresize.php on line 26

de foto is 3,4 mb groot
een kleinere foto gaat wel goed (tot 1mb)

het uploaden gaat goed maar het bewerken gaat niet goed
Heeft iemand een idee wat ik verkeerd doe

Kees

































..

Erick T. Barkhuis
14/06/09, 10:15
Kees Van Singeren:
>
> Goedemorgen,

Mogge, Kees.

> Ik probeer foto's te uploaden en daarna verkleinen via een php script
> echter bij het verkleinen krijg ik de volgende melding:

> Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to
> allocate 3072 bytes) in
> /var/www/vhosts/xxxxxxx.nl/httpdocs/upload/imageresize.php on line 26
>
> de foto is 3,4 mb groot; een kleinere foto gaat wel goed (tot 1mb)
> het uploaden gaat goed maar het bewerken gaat niet goed
> Heeft iemand een idee wat ik verkeerd doe

Je doet niks verkeerd. Er is een maximum geheugengebruik door de hoster
ingesteld, en daar ga je bij deze aktie overheen. Dat is bij
geheugenintensieve bewerkingen niet ongebruikelijk.

Je zou in je applicatie een controle kunnen opnemen, die verhindert dat
bestanden van meer dan 1MB worden aangeboden. Grotere bestanden
versturen mensen maar per FTP.
Vooral als het gaat om platen die in een browser moeten worden getoond,
is 1MB al aan de bijzonder ruime kant. Is de foto toch groter, dan moet
die worden verkleind _voordat_ hij over de lijn wordt verstuurd.

Het probleem zit 'm meer in het beschikbaar komen van goedkope digitale
camera's, die foto's van vele MB's produceren. Mensen fotograferen zich
een ongeluk, pakken dan doodleuk 5 van die platen van 4MB elk, stoppen
die in een mail of een upload-sleufje, en verwachten dan dat die boel
met gemak snel over een lijntje gaat, van maat en scherpte wordt
veranderd, en kant-en-klaar op een webpagina verschijnt.

Grappig is, dat zulke lieden - in mijn ervaring - het dan te veel
moeite vinden om die platen eerst zelf te verkleinen. "Dat doet die
website maar voor me", roepen ze. Je kunt je afvragen of deze
gemakzuchtigen ook weigeren een envelop rond een brief te doen, of hun
handdoeken op te vouwen alvorens ze in de kast te leggen.
'Voorbewerking' lijkt een vies woord te worden...


--
Erick

Branko Collin
14/06/09, 16:15
On Sun, 14 Jun 2009 10:07:24 +0200, Erick T. Barkhuis
<erick.use-net@ardane.c-o-m> wrote:
>Kees Van Singeren:

>> Ik probeer foto's te uploaden en daarna verkleinen via een php script
>> echter bij het verkleinen krijg ik de volgende melding:

[knip]

>Grappig is, dat zulke lieden - in mijn ervaring - het dan te veel
>moeite vinden om die platen eerst zelf te verkleinen. "Dat doet die
>website maar voor me", roepen ze. Je kunt je afvragen of deze
>gemakzuchtigen ook weigeren een envelop rond een brief te doen, of hun
>handdoeken op te vouwen alvorens ze in de kast te leggen.
>'Voorbewerking' lijkt een vies woord te worden...

Opa Barkhuis vertelt...

Mocht je die rare niet-zelf-verkleinende mensen toch tegemoet willen
komen, dan zul je met plezier horen dat sommige hostingproviders je
zelf je php.ini-bestand op de server laten aanpassen. Andere
hostingproviders zijn wat voorzichtiger, en zullen dat op aanvraag
voor je doen.

Zoek even op Google op welke instellingen je precies moet aanpassen,
want ik weet dat niet uit mijn hoofd.


--
branko collin
"I'm a little man, and I am also evil, also into cats,
.... also into cats" - Fall Out Boy, This Ain't a Scene,
It's an Arms Race

Erick T. Barkhuis
14/06/09, 16:45
Branko Collin:
> On Sun, 14 Jun 2009 10:07:24 +0200, Erick T. Barkhuis
> <erick.use-net@ardane.c-o-m> wrote:
> >Kees Van Singeren:
>
> >> Ik probeer foto's te uploaden en daarna verkleinen via een php script
> >> echter bij het verkleinen krijg ik de volgende melding:
>
> [knip]
>
> >Grappig is, dat zulke lieden - in mijn ervaring - het dan te veel
> >moeite vinden om die platen eerst zelf te verkleinen.
>
> Opa Barkhuis vertelt...

*zucht..*
Waar is dat nou voor nodig?

>
> Mocht je die rare niet-zelf-verkleinende mensen toch tegemoet willen
> komen, dan zul je met plezier horen dat sommige hostingproviders je
> zelf je php.ini-bestand op de server laten aanpassen. Andere
> hostingproviders zijn wat voorzichtiger, en zullen dat op aanvraag
> voor je doen.
>
> Zoek even op Google op welke instellingen je precies moet aanpassen,
> want ik weet dat niet uit mijn hoofd.

Het is 'memory_limit' in de php.ini.
Maar wat wil je doen? Die waarde verdubbelen? Nog verder verhogen?
Het heeft in principe weinig zin, want dadelijk komt er iemand die een
nog groter bestand gaat uploaden. Of je nu tegen een wat lagere of
hogere grens aanloopt, die grens is er.

Je kunt dan een PHP-melding laten ontstaan, OF zelf al vooraf een
controle met een wat elegantere melding inbouwen. Dat laatste is wat
netter dan de manier waarop kennelijk lieden zonder Opa-titel zouden
aansturen.



--
Erick

Hans W
14/06/09, 21:45
On Jun 14, 4:43 pm, Erick T. Barkhuis <erick.use-...@ardane.c-o-m>
wrote:
> Branko Collin:

> > Zoek even op Google op welke instellingen je precies moet aanpassen,
> > want ik weet dat niet uit mijn hoofd.

> Het is 'memory_limit' in de php.ini.

ini_set('memory_limit', waarde); kan volgens mij ook.

Hans

Erick T. Barkhuis
14/06/09, 21:55
Hans W:
> On Jun 14, 4:43 pm, Erick T. Barkhuis <erick.use-...@ardane.c-o-m>
> wrote:
> > Branko Collin:
>
> > > Zoek even op Google op welke instellingen je precies moet aanpassen,
> > > want ik weet dat niet uit mijn hoofd.
>
> > Het is 'memory_limit' in de php.ini.
>
> ini_set('memory_limit', waarde); kan volgens mij ook.

Tja, als een hoster geen toegang tot de php.ini geeft, is de kans niet
erg groot dat hij dit wel zou toestaan, lijkt me.
Misschien moet OP dan eerst eens bekijken of wellicht safe_mode aan
staat.


--
Erick

Hans W
14/06/09, 21:55
On Jun 14, 9:46 pm, Erick T. Barkhuis <erick.use-...@ardane.c-o-m>
wrote:
> Hans W:
>
> > On Jun 14, 4:43 pm, Erick T. Barkhuis <erick.use-...@ardane.c-o-m>
> > wrote:
> > > Branko Collin:
>
> > > > Zoek even op Google op welke instellingen je precies moet aanpassen,
> > > > want ik weet dat niet uit mijn hoofd.
>
> > > Het is 'memory_limit' in de php.ini.
>
> > ini_set('memory_limit', waarde); kan volgens mij ook.
>
> Tja, als een hoster geen toegang tot de php.ini geeft, is de kans niet
> erg groot dat hij dit wel zou toestaan, lijkt me.
> Misschien moet OP dan eerst eens bekijken of wellicht safe_mode aan
> staat.

ini_set staat meestal, voor zover ik het tegen kom, niet uit. Lijstje
is meestal beperkt
tot zaken als dl, exec, etc...

Hans

Tru7nk
21/06/09, 19:05
Kees Van Singeren:

> het uploaden gaat goed maar het bewerken gaat niet goed
> Heeft iemand een idee wat ik verkeerd doe

Pas je script aan naar een maximale (upload) bestandsgrootte en laat je
php.ini aanpassen:
http://www.radinks.com/upload/config.php
Het is niet alleen de grootte van je bestand maar ook bijkomende zaken als:
timeout etc.

--
Tru7nk