Otin tuolta oppaista valmiin funktion, joka pienentää kuvan ja muokkasin sitä hiukan paremmin omaan tarkoitukseen sopivaksi. Ongelmaksi muodostui se, että palveluntarjoaja on rajannut lomakkeelta lähetettävien tiedostojen maksimikooksi 2M. En siis voi lähettää 2M suurempia kuvia lomakkeelta, vaikka aikomukseni on välittömästi pienentää kuvat paljon tätä pienemmiksi. Eikö lomakkeelta lähetettyä kuvaa voi mitenkään pienentää vaikka välittömästi lähetysvaiheessa, ettei nämä rajat tule vastaan? Miten siis saisin lomakkeella lähetettyä miten suuria kuvia tahansa ja välittömästi pienennettyä ne haluttuun kokoon niin, ettei eteen tule herjoja palveluntarjoajan upload_max_filesize: 2M ja post_max_size: 2M rajoista? Vai onko tämä edes mahdollista?
PHP:llä et tietenkään voi kiertää tuota rajoitusta, onhan koko rajoituksen tarkoitus estää isojen tiedostojen lähettäminen PHP:lle. Ainoa mahdollisuus olisi pienentää kuvaa selaimen puolella esimerkiksi Flashilla tai Javalla tai ohjeistaa käyttäjä lähettämään pienempi kuva.
No kuvaa voi tietty pienentää kuvankäsittelyohjelmalla jo ennen selaimeen tunkemista.
Selaimen päässä voisi ajatella että kuvan lataisi canvasiin, pienentäisi ja lähettäisi sitten palvelimelle
http://epx.com.br/logbook/archive/2011/03/html5-canvas-loading-image-from-local.html
http://stackoverflow.com/questions/1590965/
(tai toki Flashilla tai Javalla kuten Metabolix ehdotti)
Toki kuvankäsittelyohjelmalla onnistuisi tuo kuvan pienentäminen, mutta kun siitä lomakkeen läpi olisi tarkoitus laittaa lopulta sadoittain kuvia, niin ei millään viitsisi jok'ikistä ensin pienentää kuvankäsittelyohjelmalla ennen sivuille lähettämistä.
Minulla ei oikein ymmärrys riitä tuohon canvasin käyttämiseen. Löytyisiköhän jostain Flashilla tai Javalla toteutettua valmista koodipakettia, jonka voisi vain nakata sivuille, jolloin se hoitaisi kuvan pienentämisen välittömästi, kun haen kuvan lomakkeelle? Mieluiten siis mahdollisimman valmis paketti, jonka kanssa ei tarvitsisi kovin paljoa pyöritellä, kun nuo Flash ja Javakaan eivät kovin hyvin taitu.
Kokeilin jotain etsiä netistä ja latasin plupload nimisen paketin, mutta vaikka yritin kikkailla sen kanssa kuinka, niin enpä saanut toimimaan. Olisi pitänyt olla ihan kädestä pitäen ohjeet jossain, mutta en sattunut löytämään. :-/
Aihe on jo aika vanha, joten et voi enää vastata siihen.