Upload fotek s automatickou změnou velikosti a názvu

Dobrý večer,

Základy práce s PHP už jsem jakž-takž dal dohromady, podařilo se mi vytvořit jednoduché administrační rozhraní, které dostačuje mým potřebám.

Nicméně jsem narazil na problém. Návodů na vytvoření uploadu na server jsem našel několik, nicméně všechny jsou buď příliš jednoduché a tedy málo zabezpečené, nebo naopak nejsou dostatečné.

Vpodstatě jde o to, že potřebuji vytvořit do PHP stránky skript, který:

- slouží k uploadování fotek na server
- má aspoň trošku pojištěnou bezpečnost (i když se bude nalézat v zaheslované části)
- MIME = obrázky (hlavně JPG a GIF)
- soubor nazve automaticky kombinací obsahu ze sloupců z tabulky (prodej_id+prodej_nadpis (obsah sloupce prodej_nadpis obsahuje diakritiku, tak aby to nedělalo neplechu)
- a co je hlavní tak aby se dokázal nahrávaný obrázek automaticky upravit na velikost, kdy nesmí délka ani jedné strany přesáhnout veliksost 160px


prodej_id a prodej_nadpis si bude přebírat z URL podobné této:
http://www.rabamusic.cz/admin/formular_fotka.php?typ=prodej&id=1

(+ samozřejmě informace o nadpisu)

Je to z toho důvodu, že v administrační části je kompletní výpis záznamů z tabulky a ke každému řádku jsem přidal odkaz pro editaci a odkaz pro výmaz, takže u toho nechám ještě i odkaz pro přidání fotky.

Moc se mi nechce ukládat fotky do mysql databáze, příjde mi rychlejší pro běh webu i přehlednější pro správu, mít fotky jako fyzické soubory...

Za případnou pomoc předem děkuji :-)
Asi jsem úplne nepochopil, s čím chceš pomoct. Zřejmě všechny potřebné vlastnosti uploadovacího skriptu jsi zmínil.

K uploadování fotek ti postačí jakýkoliv skript z tutoriálů -- jenom je třeba kontrolovat, aby se používala funkce move_uploaded_file() místo zablokované copy(). Tím víceméně řešíš i pojmenování a umístění (Alternativní metodou je použití ftp funkcí. Postačíš si však bohatě se zmíněnou klasikou -- to je na delší povídání:)

Ke kontrole mimetype můžeš použít mime_content_type(). Je však deprecated a na novějších strojích ji nahrazují fileinfo funkce. V php4 však fileinfo ještě není.

K úpravě velikosti obrázků existuje také spousta skriptů - kdysi jsem psal jeden kratičký pro známého - např. viz http://tmp.icebolt.info/store/thumbnail_resizer.txt. Pro základní pochopení použití funkcí pro práci s obrázky by to mělo stačit. Pracuje sice jenom s jpegy, ale úprava na png/gif je záležitostí chvilky (hodí se kontrola mimetype). Část toho skriptu jsem si před několika lety někde vypůjčil -- netuším však již kde.

Toť snad vše, dotazy? :))
Díky :-)

Dotazy... co k tomu říct. Uvidíme :-)

Řeknu to stručně. S html, xhtml a css už dělám roky (i když jen na běžné úrovni, žádné zázraky). Ale s PHP jsem teprve začal, přelouskal 800 strankovou knížku, pročetl nějáký zaměřený weby a se zdejší drobnou pomocí napsal základ pro web, na kterém pracuji. Na něčem se to naučit musím a i když by mi semka stačil jen jednoduchý nezabezpečený skript se skriptem na resize (protože jak jsem řekl, upload bude v zaheslované administraci), tak přecejen když to teď budu mít pořádně, pomůže mi to do budoucna.

K těm dotazům jen to, že za posledních několik dní jsem vstřebal tolik informací, že občas jsem trochu natvrdlej a potřebuju, aby mě někdo zase trošku popostrčil z místa. Vím, že kdo jde číst diskuzi semka, tak pravděpodobně těch pár minut, co mu to zabere (místo mých pár hodin :-P ), si na to najde :-)

Ale abych se zase moc nerozepisoval - pročtu si znova pozorně o těch dvou funkcích, které jsi mi napsal a projdu ten tvůj skript (a neskončím, dokud si nebudu 100% jistý, že jsem ho celý pochopil)

Ráno zkusim zplichtit to co potřebuju a hodím to semka na kontrolu, hlavně kvuli mě, ale samozřejmě i proto, že se to může hodit i někomu dalšímu -)

Zatím díky
Omlouvam se, skacu od jednoho ke druhemu, podle toho, co zrovna vypada pro me nejnadejneji, ze dodelam co nejdriv :-) Kazdopadne ted pisu, aby bylo videt, ze jsem se na to nevykaslal po te, co by se mi to povedlo dodelat a rozhodne semka svuj vysledek napisu, jen asi uz ne dneska. Rozpracoval jsem si totiz strankovani vystupu z databaze... dekuji za pochopeni :-)
Však nemáš kam spěchat. Jak říká klasik: práce kvapná, málo platná. Avlákno ti nikdo nesmaže. ;)