Hallo ,
Ik ben opzioek naar een script wat minimaal 500 foto's van meer dan 3mb per stuk om kan zetten naar thumbnails (max 120 hoog) en naar een formaat van maximaal 700 pixels groot. De originele foto's worden geupload naar een map op de server.
Hierbij moet er dus rekening gehouden worden met de time limit van PHP op de server. Tevens het geheugen. Ook moet hierbij vermeld worden dat dit meerdere malen per dag moet kunnen gebeuren.
Wie heeft er tips waar eventueel een open source oplossing te vinden is, of welke aanpak het meest haalbaar én schaalbaar is. Het één en ander is al gelukt, maar het loopt vast op de limieten qua geheugen of execution time.
- Vragen omtrent Foto resize script.
-
19-10-2009, 17:00 #1
- Berichten
- 637
- Lid sinds
- 18 Jaar
Vragen omtrent Foto resize script.
-
In de schijnwerper
Senior Designster - top kwaliteit - 16 uur per week - per maand - 350 euroFreelance / WerkServerFIX| 24/7 server beheer | 24/7 NOC | Urgente storingsopvolging | Netwerk beheerFreelance / WerkGoedkope 10 Gbps Virtual Private Server (VPS) in Nederland (Met PURE NVMe opslag!)HostingSupersnelle WordPress Webhosting vanaf € 3,00 per maandHosting -
19-10-2009, 17:06 #2
- Berichten
- 15
- Lid sinds
- 15 Jaar
boven aan de pagina gewoon set_time_limit(0); en geen timeout problemen meer..
-
19-10-2009, 21:17 #3
- Berichten
- 637
- Lid sinds
- 18 Jaar
Dit kan helaas niet zomaar bij elke hosting provider. Logisch ook, anders kun je de volledige CPU overnemen van een bepaalde shared server. Ik zat zelf te denken aan het opknippen van het omzetten van 10 foto's per keer, 5 seconden pauze, 10 foto's omzetten etc. Maar heb eigenlijk geen idee hoe dit te bewerkstelligen.
-
20-10-2009, 13:00 #4
- Berichten
- 95
- Lid sinds
- 16 Jaar
Misschien is dit een mogelijke oplossing: Het laten uitlezen van een map en bij elk bestand dat je uitleest (in dit geval dus foto's) een +1 op de counter doen ($i++;) en daarbij bij elk stukje code if ($i == 10) een break toepassen en dan de pagina herladen?
Dan moet je natuurlijk wel de oude foto's even een andere naam geven zodat hij hem niet nogmaals verkleind (of verwijderen, moet je zelf maar kijken).
Is niet de netste oplossing, maar volgensmij wel een oplossing die werkt.
-
20-10-2009, 13:27 #5
- Berichten
- 376
- Lid sinds
- 18 Jaar
Kan het niet lokaal? Zijn zat programmaatjes voor namelijk.
-
20-10-2009, 13:37 #6
- Berichten
- 465
- Lid sinds
- 18 Jaar
Je moet een rust nemen in je script, het idee was goed. Bijvoorbeeld:
PHP Code:for($i = 1; $i < 500; $i++){
//resize foto's
//als 10,20,30,40,50 e.d.
sleep(10);
}
Dit kan helaas niet zomaar bij elke hosting provider. Logisch ook, anders kun je de volledige CPU overnemen van een bepaalde shared server. Ik zat zelf te denken aan het opknippen van het omzetten van 10 foto's per keer, 5 seconden pauze, 10 foto's omzetten etc. Maar heb eigenlijk geen idee hoe dit te bewerkstelligen.
-
20-10-2009, 13:40 #7
- Berichten
- 2.392
- Lid sinds
- 17 Jaar
Hallo ,
Ik ben opzioek naar een script wat minimaal 500 foto's van meer dan 3mb per stuk om kan zetten naar thumbnails (max 120 hoog) en naar een formaat van maximaal 700 pixels groot. De originele foto's worden geupload naar een map op de server.
Hierbij moet er dus rekening gehouden worden met de time limit van PHP op de server. Tevens het geheugen. Ook moet hierbij vermeld worden dat dit meerdere malen per dag moet kunnen gebeuren.
Wie heeft er tips waar eventueel een open source oplossing te vinden is, of welke aanpak het meest haalbaar én schaalbaar is. Het één en ander is al gelukt, maar het loopt vast op de limieten qua geheugen of execution time.
Overige tips/suggesties waaronder sleep, teller e.d. zijn al genoemd. Overigens zou je het wellicht met een cronjob kunnen doen, die iedere 2-5 minuten dat script uitvoerd. Je zet in de database welke foto's je al hebt gehad en det er daarna ongeveer 50 (om de 10 foto's 5 seconden rust zou genoeg moeten zijn). Wellicht dat dit wat is?
-
21-10-2009, 17:37 #8
- Berichten
- 637
- Lid sinds
- 18 Jaar
Allereerst bedankt voor de reacties. Sleep werkte niet geheel naar wens. Het opknippen aan de hand van een counter werkte ook niet aangezien de foto's bestandsgroottes hebben variërend tussen de 100kb en 5000kb.
Er is inmiddels een Dedicated server geregeld aangezien de site dergelijk grote proporties gaat aannemen dat dit een stuk rendabeler is. Ik heb wil de timi_limit aangezien dit ook door slaat op de prestaties van de website zelf. Ik heb het nu zo gedaan dat er bij een time-out opgeslagen word welke foto's gedaan zijn en dan begint het script opnieuw. Zie de class http://www.phpclasses.org/browse/package/3439.html Zo is het eigenlijk een continue proces met daarin korte pauzes.
Op de vraag of het lokaal kan, dit is een mogelijkheid. Onder andere PhotoResize is een makkelijke oplossing, maar fotografen moet ten alle tijde de mogelijkheid hebben een grote hoeveelheid foto's te uploaden. Daarna neemt de server de rest over.
-
21-10-2009, 17:49 #9
- Berichten
- 571
- Lid sinds
- 17 Jaar
Je kunt toch na elk plaatje het geheugen opschonen?
met imagedestroy()
-
21-10-2009, 20:03 #10
- Berichten
- 637
- Lid sinds
- 18 Jaar
Het geheugen was niet het probleem, het ging voornamelijk om de tijdslimiet van het uitvoeren van een script.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic