Internetová galéria v PHP

Galéria na internete už dávno nie je žiadny zázrak ale často sa stáva, že robí problémy začínajúcim programátorom. V tomto článku sa zameriam na to ako galériu vytvoriť. Samozrejme nepôjde o galériu, ktorá by obsahovala administráciu a pod. veci, pretože to by som musel písať viac častí čo teraz z časových dôvodov nie je možné. Na oplátku ale galéria nebude používať žiadnu databázu.
Upozornenie
Najprv by som mal asi upozorniť na to, že pokiaľ váš server, či už na internete alebo doma používa jazyk PHP vo verzií 4 a menej, tak galériu nebude možné použiť. Dôvod je jednoduchý - zdrojové kódy sú napísané objektovo orientovane v PHP jazyku vo verzií 5.x.x. V PHP5 sa totiž objavili už dávno prvky, ktoré v PHP4 nenájdete.

Zdrojové kódy galérie
Stiahnite si galériu v zip formáte alebo si prezrite zdrojové kódy online.

Vysvetlenie triedy
Aplikácia obsahuje len jeden súbor (s triedou) - index.php. Trieda gallery obsahuje konštruktor, ktorý musí mať pri vytváraní inštancie zadané 3 parametre. Jedná sa o parametre $name, $url a $size. Prvý z nich označuje meno galérie resp. titulok. Ďalší je absolútne URL, kde je umiestnená aplikácia. Posledný parameter nastavuje veľkosť miniatúr pri prehliadaní kategórií galérie. Obrázky zobrazované v galérií sa ukladajú do zložky gallery/. Do tejto zložky už môžete rovno nahrávať obrázky. Ak však chcete vytvoriť kategóriu obrázkov stačí, ak vytvoríte novú zložku a potom do nej vložíte obrázky. A takto môžete donekonečna vytvárať podzložky (alias subkategórie). Celý princíp funguje veľmi jednoducho.

Na záver
Táto mini-galéria je v podstate len taký návrh bez databázového riešenia, i keď pri väčšom rozširovaní by ste tak či tak databázu nakoniec použili. Plánujem napísať ešte jeden článok, kde bude táto galéria využívať aj GD knižnicu (generovanie miniatúr, kompresia obrázkov a pod.) a technológie CSS. To by bolo zatiaľ všetko.
Alternatívne verzie: Text PDF Voice
Autor: PaBi3 · Kategória: Programovanie · Dátum: 22.01.2006 20:35

Komentáre

#1 XThom Web
22.01.2006 22:56
Nj, minimalizácia je poetry :) A ešte keď je automatizovaná...

#2 FrozenDog
22.01.2006 23:17
jj, GD je volmi uzitocna vec. Ked som ja robil galeriu, tak som tuto knizicu pouzival na generovanie miniatur aj velkych verzii (aby useri neukladali konske velkosti zo svojich x-megapixelovych fotakov).

Inak tvoja mini-galeria je pekna - paci sa mi cisty minimalisticky kod. Len jednu vec by som doplnil - kontrolovanie MIME typ, aby sa zobrazovali len obrazky. To plati hlavne ak bude mat do galerie pristup viacero ludi.

#3 XThom Web
22.01.2006 23:38
[2] Akurat niektore serveri ti odmietnu spracovat prilis velky obrazok, kvoli obmedzeniam pamate (resp. vyhodi to error, ze bola presiahnuty povoleny priestor pre spracovanie alebo tak nejak, uz si to presne nepamatam).

#4 admin Web E-mail
23.01.2006 15:10
admin [3] Budem brať do úvahy toto obmedzenie a opravím tento nedostatok v ďalšej verzií galérie.

#5 Tomika Web E-mail
23.01.2006 17:14
ozaj je to velmi pekna vec, al ja si pockam na tu tvoju upravu [wink]

#6 shuster Web
23.01.2006 21:04
U nas riesime konverziu obrazkov prikazom convert.
exec("convert ".$filename." -resize ".$x."x".$y." ".$converted_filename);

#7 LittleMan Web E-mail
29.01.2006 19:21
neviem v com je problem ale na ic.cz mi vypise toto: Parse error: parse error, unexpected T_STRING in /home/free/ic.cz/g/gymparnr/root/www/gallery/index.php on line 3 aj ked dam suboru priponu php5
[question]

#8 admin Web E-mail
29.01.2006 20:51
admin Suboru priponu php5? To ma znamenat co???IMHO ti nepozna syntax pouziteho OOP, pretoze si na servery s PHP4.

#9 LittleMan Web E-mail
30.01.2006 18:44
nie - skusal som to - maju to spravene tak, ze ked das priponu php5 tak to robi s php5 a ked je iba php tak ide php 4 (spravil som si subor s obsahom <? phpinfo() ?> a ked som ho pomenoval php5 tak vypisalo je varzia je 5 - ked bol php tak verzia 4

#10 admin Web E-mail
30.01.2006 19:14
admin Galéria však neobsahuje žiadnu syntaktickú chybu. Predsa som to len overil.

#11 Hanej Web E-mail
21.02.2006 19:21
Ahojte mam problem. Na adrese hanej.php5.cz som vytvoril galeriu ale nechce mi zobrazovat obrazky. Cca 2 minuty to fungovalo aj s obrazkami ale potom to prestalo chodit. Poradte prosim co s tym moze byt. DAKUJEM

#12 admin Web E-mail
22.02.2006 22:18
admin Menil si niečo? V súboroch a pod.?

Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti