środa,
PHP: Galeria zdjęć
Jak łatwo i szybko tworzyć galerie zdjęć?
Typowym elementem stron WWW są galerie zdjęć. W przepisie wygenerujemy prostą galerię jednak kod można łatwo zmodyfikować np. do użycia wraz ze skryptem Javascript. Dostępnych jest wiele takich rozwiązań, znajdziemy je wpisując do okna wyszukiwarki frazę „javascript gallery”.
Zakładamy, że zdjęcia znajdują się w katalogu galeria, dokładnie są to katalogi galeria/mini dla miniatur oraz galeria/img dla właściwych obrazów. Same nazwy plików nie są istotne jednak muszą być takie same dla obrazu i miniatury.
define('ITEM',
'<li><a href="galeria/img/%s"><img src="galeria/mini/%s" alt="%s"></a></li>');
$galeria = [];
$pliki = glob('galeria/mini/*.*');
foreach($pliki as $plik) {
$x = basename($plik);
$galeria[] = sprintf(ITEM, $x, $x, $x);
}
printf('<ul>%s</ul>', implode('', $galeria));
W wierszach 1 i 2 deklarowana jest stała - szablon dla funkcji sprintf. W wierszu piątym pobierana jest lista plików z katalogu galeria/mini/. Symbol *.* oznacza element posiadający rozszerzenie (jego nazwę można uogólnić schematem nazwa•kropka•rozszerzenie).
W pętli foreach (wiersze 7-10) do tablicy $galeria zapisywane są generowane za pomocą funkcji sprintf elementy listy HTML. W wierszu 10 elementy listy scalane są w jeden ciąg znaków (implode) i wyświetlone na ekranie (printf).
Galeria nie wgląda specjalnie okazale ale ma formę struktury, którą łatwo sformatować stylami CSS.
Powyższa ramka to odnośniki do właściwych stron dokumentacji języka PHP.