Eszköztár
134 Kezdőlap - Webszerkesztés - PHP - Képfeltöltés
ujdomainek.hu

Képfeltöltés

és képtörlés

Mintapélda

A Képgaléria című oldalon már láttuk, hogyan lehet egy mappa képeit galéria jelleggel megjeleníteni. Ezúttal pedig azt fogjuk megnézni, miként lehet

Kliensoldali elvárások:

Kép - és egyáltalán bármilyen fájl - feltöltése csak és kizárólag olyan űrlapról lehetséges, melynek odaadtuk paraméterül az enctype='multipart/form-data' kifejezést. Fontos odafigyelni rá, hogy ez csakis method='post' típusú adattovábbítással lehetséges.

Szerveroldali feldolgozás:

A feltöltés eredményeként a szerveren fájl egy ideiglenes mappába fog kerülni, melynek adatait a $_FILES szuperglobális tömbbel fogjuk tudni elérni. A feltöltött fájlt innen kell majd egy PHP programmal a végleges helyére mozgatni.

Lássunk egy konkrét mintát!

A mappa jelenleg nem tartalmaz képeket.


Új kép feltöltése:
Megnyitás önálló ablakban Önálló ablakban történő megnyitás után megtekintheti (pl. a Ctrl+U billentyűkombinációval) a megvalósítás forráskódját. A galéria forráskódjában is felfedezhető módon a feltöltésért és a képtörlésért egy-egy önálló PHP program felel. Mindkettőhöz tartozik egy saját form, és ennek megfelelően egy saját Submit nyomógomb. A két program forráskódja az alábbi kis képekre kattintva érhető el:
kepfelrak.php keptorles.php
Láthatóan a képfeltöltés "lelke" a move_uploaded_file() függvény, míg a képtörlést az unlink() függvény valósítja meg. Programjainkat ezek köré a függvények köré építettük fel.

A forráskódok tartalmát alaposabban tanulmányozva felmerülhetnek bennünk olyan kérdések, mint amiket az alábbiakban olvashatunk.

Miért nevezzük át feltöltés után a képeket, miért nem tartjuk meg - legalább részben - az eredeti nevet?

Ha a feltöltött képek eredeti neve ékezetes, vagy speciális karaktereket tartalmazna, akkor elképzelhető, hogy ezeket a képeket a nevük miatt nem tudnánk a webcímekben kezelni, és így a képek nem jelennének meg a böngészőben. Megtehetnénk ugyan, hogy a képek nevének speciális karaktereit feltöltéskor alapkarakterekre cseréljük, de ekkor meglehetősen körültekintően kellene eljárnunk. Általában szerencsésebb ehelyett új nevet alkotnunk, melynek alapja lehet a feltöltési idő, a session azonosító, vagy éppen teljesen random karaktersorozat - esetleg ezek kombinációja.

Mit tud a programokban meghívott ertesites.php?

Ennek a programnak az a feladata, hogy értesítse az oldal üzemeltetőjét, ha képfeltöltés történik. Ez általában moderálási szempontból lehet érdekes: nem volna célszerű, ha egy weboldalt oda nem illő képekkel szét lehetne trollkodni.

Képtörléskor valóban nem is törlődnek a képek, csak áthelyezésre kerülnek egy másik mappába?

Igen, ez így van. Szintén azért, hogy utólag is kontrollálni lehetessen a weboldalunkon történő eseményeket, a felhasználók törölt képei jellemzően sehol, semelyik oldalon nem törlődnek azonnal. A végleges törlés vagy némi késleltetési idővel, vagy szintén üzemeltetői jóváhagyással szokott megtörténni.

Az rendben van, hogy a képgalériában az áttekintéshez a pici indexképek megjelenítésekor is a teljes képeket használjuk?

Nagyon nincs rendben! Egyrészt lassú lehet a betöltés, másrészt a nagyképek hamar "megeszik" a szűkös mobilnet-keretet. Ahhoz, hogy a galéria indexképeihez legyenek kicsi képeink, feltöltéskor mindegyikről kell készíteni egy kicsínyített másolatot. Erről szól a Képmásolás című oldal.
előző oldal random oldal következő oldal


2024-06-24 02:42:39 Admin Köszönöm, ha Ön lesz az első, aki megírja ide véleményét, észrevételét, kérdését ezzel a lappal kapcsolatban.




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenhét + kilenc?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2008. április