Ik heb een website waar je een foto kan uploaden vervolgens een uitsnede kan maken en dat vervolgens kan laten drukken op behang.
Nu is mijn probleem dat:
Zodra ik een foto geupload heb dan kan je een uitsnede maken van deze foto hoe hoger de mbs/resolutie hoe mooier natuurlijk de foto. nu is het probleem zodra je dus een grote uitsnede hebt gemaakt van bijv. 270 cm hoog x 300 cm breedt dan laad hij daarna een witte pagina en geen fout meldingen.
Als je een kleinere maat laat 100x100 of 200x250 dan laad hij gewoon door en kan je doorgaan met het bestellen van het "product".
Zou iemand mij misschien kunnen helpen wat hier fout gaat?
Mijn gedachtes waren dat het misschien te lang duurt om te laden en dan er uit eindelijk niks geladen wordt of dergelijken en hoe zou ik dat kunnen aanpassen?"
Ik heb zo het idee dat je bij een grotere foto het maximaal toelaatbare geheugen overschrijdt die terug te vinden is in je php.ini.
De toegewezen geheugengrootte in het php.ini hoger zetten, maar dat is even uitproberen.
als hoster wil je natuurlijk niet dat iedereen zo maar de toegestane hoeveelheid geheugen uitbreidt:
als 10 man vinden dat ze 2GB mogen gebruiken voor een script, dan heb je dus 20GB nodig in de server, mochten die scripts gelijktijdig draaien.
En dan schiet er niets meer over voor de andere sites, of andere processen op de server.
Probeer eens na te gaan hoeveel geheugen je proces daadwerkelijk nodig heeft,
of dat efficiënter kan
en of je de klant geen zachte foutmelding moet geven, mocht het toegestane geheugen te weinig zijn.
Of zoek een server waarop je wel je geheugen naar believen kunt inzetten.
Ik heb een website waar je een foto kan uploaden vervolgens een uitsnede kan maken en dat vervolgens kan laten drukken op behang.
Als het niet server-side kan, dan kun je het nog omkeren: eerst client-side een uitsnede maken met JavaScript of een jQuery-plugin en vervolgens alleen de uitsnede uploaden.
Mijn provider is Versio.nl
Helaas staan hun op shared hosting geen php.ini file veranderingen toe.
is er een andere manier?
Niet elke PHP-installatie werkt via een user-custom php.ini. Daarom kan je vaak gebruik maken van .htaccess.
php_value memory_limit 128M
maar de beste manier is om je script zo efficiënt mogelijk te maken. Zo gebruik ik bijvoorbeeld PLupload. Ik meen dat die het bestand tijdens het uploadproces in meerdere kleinere delen splitst zodat je alsnog een groot geheel krijgt zonder dat je excessief veel geheugen gebruikt. Misschien is dit een idee?
@Ariën
Ik denk dat je daarmee vooral voordeel hebt als je de max upload size of max post limieten overschrijdt.
Maar als je gaat stoeien met een plaatje om het te resizen, of in dit geval een uitsnede eruit te nemen, dan moet je toch het plaatje in het geheugen zetten. Of dat nu in 1x geupload is, of in delen en toen pas samengevoegd.
Je kunt nog kijken of er winst te halen is door vrijkomende resources zo snel mogelijk weg te gooien.
dus stel "org images" > "resized image" > "uitsnede" dan zou je na stap 1 de variabele waarin het oorsponkelijke plaatje zit al leeg kunnen maken.