PHP skript pro generování galerie obrázků 1.
Jestli s internetovými stránkami pracujete častěji, zajisté jste se už setkali s automaticky generovanými galeriemi obrázků, ať už to byla pěkná auta, obrázky přírody nebo i jiných „objektů“. Tento článek má dva díly. V tom dnešním si popíšeme, jak vygenerovat HTML kód, který bude obsahovat tabulku s obrázky. Neřeší však úpravy obrázků, prostě je budete muset zmenšit a upravit jejich velikost v programech jako Paint Shop Pro, Photoshop apod. Ale pokud je tato činnost na vás příliš namáhavá (stejně tak jako pro mě,) bude se vám líbit pokračování tohoto miniseriálku, kde si uděláme skript, který veškeré problémy s velikostí obrázku vyřeší za nás.
Vraťme se ale na úplný začátek. S čím budeme pracovat? Aby náš skript fungoval, předpokládáme, že ve stejném adresáři, kde je umístěn skript, jsou i adresáře s galeriemi. V adresáři s galerií (tj. obrázky) je ještě adresář „small“, kde jsou zmenšené verze obrázků galerie, tzv. náhledy (thumbnaily). N8hledy mají stejný název jako jejich větší bráškové, ale před jejich jméno je ještě vloženi „small_“. Takže pokud máme například obrázek 01.gif, tak jeho zmenšenina se bude nazývat small_01.gif. Samozřejmě, všechna tato drobná nastavení je možné jednoduše ve skriptu změnit.
Skript, který bude umístěn v souboru funkce.php, budu uvádět po ucelených částech, které budu postupně vysvětlovat. Budete tedy muset jednotlivé části spojit dohromady a umístit je do zmiňovaného souboru funkce.php.
|
V této první části si nadefinujeme proměnné a načteme soubory v adresáři. $cesta je název adresáře, ve kterém jsou obrázky určité galerie. $cesta_male je adresář se zmenšenými obrázky. $strana je proměnná, určující číslo stránky, která se má zobrazit. $sirka_tabulky definuje samozřejmě šířku tabulky, buď v procentech nebo v pixelech. $pocetH a $pocetV udává kolik bude sloupců ($pocetH) a kolik bude řádků ($pocetV). OpenDir() otevře adresář, pak postupně pomocí ReadDir() načítáme jména souborů. Ještě než uložíme do pole $soubor název souboru, musíme si být jisti ,že neuložíme nějaký z adresářů, které v aktualním adresáři jsou. Poslední v této části je funkce Sort(), srovná nám názvy podle abecedy.
|
Předtím jsme si načetli jména adresářů, teď si je zpracujeme. Vypočítáme šířku sloupce, budeme ji uvádět v procentech, takže stačí vydělit 100 počtem sloupců. Dále vypočítáme číslo prvního obrázku, který budeme zobrazovat, uložíme jej do $obrazek_cislo. Nastupuje cyklus while(), ten zobrazí vlastní tabulku. Vidíme, že jsou v těle cyklu dvě podmínky, které kontrolují jestli počet sloupců a řádků nepřekročil limit. Pokud sloupec překročí svůj limit, nastavíme jeho hodnotu na 1 a začneme nový řádek ( $radka++; ). Pokud počet řádků překročí limit, ukončíme cyklus příkazem break;.
|
Poslední část skriptu zobrazí dolní navigační pruh s čísly stránky. Spočítáme $pocet_stran a cyklus for() nám je zobrazí. Podmínka zajišťuje, že se nám nevytvoří odkaz na stránku, na které se právě nacházíme.
Abychom vyzkoušeli funkčnost skriptu, vytvoříme soubor galerie.php:
|
No a máme to zasebou, ještě bych rád řekl že styl a parametry tabulky můžeme snadno měnit pomocí CSS kaskádových stylů, v tabulce je definován styl tabulkagalerie, takže můžete do hlavičky HTML přidat: <style> .tabulkagalerie { font-color: #0000FF } </style> apod.
V druhém pokračování tohoto článku si povíme, jak si udělat skript, který nám naši galerii upraví a ubere nám spousty práce se zmenšováním a přejmenováváním obrázků.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Vlastní web pomocí AI už může vytvořit opravdu každý
8. srpna 2024 -
Členská sekce: 4 důvody proč ji mít na svém webu
12. března 2024 -
Thunderbolt 4 vs. OCuLink: Přišel čas na upgrade?
27. května 2024 -
ZONER Webmail jako první v Česku přináší BIMI s VMC
11. července 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024