11. april 2012 - 21:04Der er
15 kommentarer og 1 løsning
Oploade image til server? hvordan?
Hej.
Jeg har prøvet at lave et script, hvor man kan oploade billeder til min hjemmeside, men scriptet er meget ustabilt, idet at scriptet ofte ikke vil tillade filen eller der sker en fejl.
Mit spørgsmål er derfor: har i et godt råd til, hvordan man laver et script, hvor man oploader en fil(image) til er en mappe på serveren, som gerne skulle være stabil. Eller en god metode? Evt. et link.
"ofte ikke vil tillade filen" - hvor stor er filerne typisk? Laver du noget med billedet på serveren, fx resize? Hvilket webhotel, eller server bruger du?
Erik er uden tvivl inde på noget vigtigt i #2. Sandsynligvis opstår problemerne med store filer - for enten virker et script, eller også virker det ikke. Det har sjældent noget med vejret eller prisen på smør at gøre *o)
PHP har en 'medfødt' begrænsning, som udbyderen kan rykke på. Det er dog vigtigt at huske på, at hvis du formindsker billedet, roterer det, laver en thumbnail, eller foretager anden bearbejdning, vil du ofte have et RAM-forbrug, der er mange gange billedets størrelse. Du kommer med andre ord let til at ramle igennem loftet for dit tilladte RAM-forbrug, når du uploader store billeder.
Nu er det der "resize af billeder på serveren" nok mere opreklameret end rimeligt er. PHP kan jo sådan set lave en resize - hvis man har RAM nok til de meget store, ukomprimerede, billeder, de moderne kameraer kan tage.
Men resulatet er pauvert. Vil man have kvalitetsbilleder på nettet, så kræver det manuelt arbejde. Generelt skal billeder gøres skarpere og lysere, og skal beskæres. Thumbnails skal ikke bare være det store billede gjort mindre, men der skal udvælges en relevant og sigende del af billedet, der gør sig i den thumbnail.
Det er hårdt arbejde, blod, sved og tårer.
Bare fordi man KAN resize med PHP på serveren, så er det ikke nødvendigvis en god idé. Man KAN jo også rejse til Mars...
#7: - og bruge Word til at printe tekst ud med, mp3 til at gemme lyd med og telefoner til at tage billeder med ... listen er lysår lang! Desværre synes det at være på mode at vælge det dårligst tænkelige redskab til enhver opgave
Nej, PHP kan først nå filen, når den er uploaded til serveren - og JS kan ikke hente informationer om størrelsen. Derfor har du ikke sådan et script.
Derudover kan det godt være, din server tillader upload af en fil på 2 MB. Men hvis du efterfølgende begynder at resize, rotere, eller på anden måde behandle billedet, skal du bruge flere gange filens størrelse i RAM. Derfor går den slags meget ofte galt.
Når folk køber et digikamera, må de lære at bruge det - og vil de absolut dele billedet på nettet, må de lære, at teknologien ikke tillader upload uden behandling/formindskning. Desuden er det jo tåbeligt at gå ud og købe et dyrt kamera, der tager supergode billeder - blot for at få dem smadret af en dårlig billedbehandling på nettet. Man går jo heller ikke ud og køber en lækker kronkalvemørbrad for at gå hjem og tilberede den med en dyppekoger i håndvasken =)
PS: Til gengæld har jeg fra mine unge dage erfaring for, at en pose/pølse af Irmas gule ærter kan tilberedes på den måde og blive ganske velsmagende ... i hvertfald, hvis man er et par dødsultne rock-og-rul teknikere kl. føj om natten på Hotel Royal i Århus =)
Billedfilens størrelse siger ikke noget om hvor stor den bliver, når den af-komprimeres og "blæses op" i fx. 2000x3000 pixels. Det tager pænt meget RAM.
PHPs billedmanipulation er ikke altid det rigtige valg. Kan man leve med kvaliteten kræver det oftest at man selv kan stille med en server med RAM og de rigtige indstillinger. Næppe på et webhotel. Med eller uden dyppekoger.
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.