Smitka development

PHPminiGallery

Doba připravování fotogalerií na svém počítači již pominula a vše se dělá online. Proto vzikl projekt PHPminiGallery, který vychází z několikaleté zkušenosti tvorby webových fotoalerií. Snaží se ulehčit tvorbu galerie co možná nejvíce. Došel jsem k názoru, že nejpohodlnější způsob je nahrát fotoky přes FTP na web, nastavit nějaký nadpis, v některých případech nějaké popisky a víc se starat nechci.
Přesně tento postup využívá PHPminiGallery. Pro generování galerií využívá funkce PHP na straně serveru a pro pěkné zobrazení na straně klienta knihovnu jQuery.

Projekt pokračuje na GitHub

Po delší době jsem se rozhodl tento projekt opět trošku oživit a udělal jsem novou verzi. Pro lepší správu verzí jsem se rozhodl projek přesunout na Github.

Použití

Galerie se tvoří z podsložek umístěných ve složce gallery, pro zobrazení galerie je třeba zavolat soubor index.php?dir=podslozka. Podložka obsahuje velké fotografie a po prvním přístupu se vytvoří konfigurační soubor conf.txt a složka mini s miniaturami.
Po nakopírování obrázků do podsložky se při prvním přístupu ke galerii zobrazí jednoduchý formulář k vyplnění nadpisu galerie, výšky miniatur a případnému zobrazení efektů.
formulář
Po jeho vyplnění je již galerie plně funkční a zobrazí se na hlavní stránce PHPminiGallery.

Konfigurační soubor

Každá podsložka s fotkami má svůj konfigurační soubor ve tvaru: TEST 120 effects ------------- image2.jpg Druhý obrázek v pořadí Důležité jsou první 3 řádky - nadpis galerie, výška miniatury v pixelech, klíčové slovo effects (cokoliv jiného efekty vypne).
Další řádky mohou obsahovat popisky obrázků - vždy jméno souboru a následujicí řádek jeho popisek.
Zobrazení efektů je možné explicitně vypout/zapnout parametrem effects: index.php?dir=podslozka&effects=X (X=0 vyp/X=1 zap/X= -1 úplně vyp).

Od revize 48, jsem dle návrhů přidal možnost zobrazovat obrázek z galerie jako náhled v seznamu. K tomuto účelu jsem udělal mini šablonovací skript, čímž je nyní mnohem jednodušší přizpůsobit si galerii k obrazu svému. Šablona je nyní načítána ze souboru sablona.phtml: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>[nadpis]</title> <- prvek nadpis s názvem galerie; [require] <- nutný prvek načítající zobrazovač galerie; <link rel="stylesheet" type="text/css" href="css/styl2.css" media="screen" /> </head> <body> [images] <- sekce s obrázky samotné galerie; <h1>[nadpis]</h1> <div id="galerie"> [image] <- sekce miniatury, bude vytvořena pro každou miniaturu; <a href="[target]" title="[title]">[mini]</a> <- prvky target (cesta k originálnímu obrázku), title (jeho popisek, volitelný), mini (vytvorena miniatura); [/image] </div> [/images] [items] <- sekce seznamu galerií; <h1>Seznam galerií</h1> <div id="seznam"> [item] <- sekce s položkami seznamu; <a href="[dir]">[img_0]<br />[name]</a> <- prvky dir (cesta ke složce s galerií), name (jméno galerie), img_0 (náhodná minatura)/ img_1 (první miniatura ve složce); [/item] </div> [/items] <div id="foo">[bottom]</div> <- prvek s tlačítkem zpět <div id="foo2"><a href="http://smitka.org">© 2009 Smitka development</a></div> </body> </html> [update 15.1.2009]
Revize 49 – vyšlo jquery 1.3 a tak jsem ho využil. [update 31.3.2013]
Revize 50 – updatované javascripty, podpora podsložek, možnost dopsání popisu galerie a úvodní načtení popisků z EXIF. Kvůli podsložkám byly upraveny šablony, v přiloženém examplu by mělo být vše podstatné.
  • Přibyl parametr effects=-1 (zatím jen explicitně v adrese), který vypne efekty včetně animace při procházení obrázků.
  • Lehce upraveno chování efektu zhasínání při prohlížení obrázků – nebude se stávat, že obrázek zhasíná a rozsvěcí se “ze zásoby“
  • Vyměněn lightboxový skript – použit slimbox2, který jsem upravil pro korektní zobrazení velkých obrázků
  • Drobné korekce v kódu

V přípravě:
  • Administrace popisků
  • Optimalizace kódu
  • Podpora více hlavních složek
  • Co mě napadne
Nová revize 50
PHPminiGallery v akci (revize 49)
Šablona s náhledy složek (z revize 48)

PHPminiGallery revize 49 (148.8KB)305 stažení
PHPminiGallery revize 50 (352.7KB)1001 stažení
Upozornění: ve vydané verzi se objevila chybka - načítal se skript slimbox2.js, místo upravené varianty slimbox2s.js (neupravený v archivu chyběl). Opraveno

Na některách serverech se stává, že při tvorbě galerie dostane složka mini menší práva a nelze smazat. Lze to napravit souborem chmod.php, nahraným do složky s originálními obrázky. Poté by již měla jít složka smazat. Do další verze přidám automatickou změnu práv při tvorbě.
komentáře komentáře (40)


Kolik je 4+3?

Petr - 01.01.2014 14:19
Jen se mi stále nedaří řadit galerie v podsložkách. Seřadí se samy podle klíče, který se mi nedaří pochopit.
Petr - 01.01.2014 13:20
Díky, to je přesně fotogalerie, kterou jsem hledal.
Smíťa - 20.05.2013 17:53
Už jsem na to asi přišel, s novým jQuery je třeba změnit doctype na <!DOCTYPE HTML>
Smíťa - 20.05.2013 17:31
Zkoušel jsem to na svém FF a zdá se mi to ok? Dělá to i na http://smitka.org/demofotos/index.php ? Můžeš kdyžtak poslat screen?
Hrošík - 13.05.2013 12:15
Po update na poslední revizi jsem si všiml, že se plný náhled fotek otevírá ve Firefoxu hrozně dole, pokaždé se musí odrolovat. Je to něčím v kódu nebo Firefoxem?
Smíťa - 31.03.2013 14:44
Tak jsem se rozhodl tento projekt trošku oživit a udělal jsem revizi 50, která má updatované verze jQuery a Slimboxu a podporuje podsložky.
Hrošík - 13.02.2013 10:37
Já bych měl další tipy na vylepšení. Ikdyž jsem to ve zdrojáku viděl jako TODO, tak přidávat popisky fotkám, pak vybrat jednu konkrétní fotku do náhledu v Seznam galerií a nastavení třízení galerií, líbilo by se mi třeba podle data vytvoření :)
.
Tomas - 06.02.2013 21:56
Super galerie. Díky moc. I když jsem to trochu kostrbatě vyřešil po svém tak je škoda, že se nedotáhla podpora více složek.
Hrošík - 29.01.2013 14:35
Tak to je pecka, bez nastavování rovnou hotová galerie, jen upload, první načtení a je hotovo. Navíc je perfektní, že změna názvu složky nemění název alba a změnou názvu složky se dají alba řadit :)
. Palec nahoru ;)
Kája - 14.07.2011 17:21
Slimbox - zatmavení obrazovky v IE8 moc nefunguje, nezatmaví ji celou, po odrolováni dolu je ta část nezmavena
Kája - 14.07.2011 15:52
ahoj. A co když nemám obrázky v poměru 4/3? Proč nemůžu zadat šířku i výšku do conf?
Charlie - 14.07.2011 15:31
Chci se zeptat jestli nechystáte novou verzi třeba s admin panelem na nahravani fotek nebo tak něco ? jináč takhle je mooc dobra ;)
gredo - 17.04.2011 17:47
Ahoj, tato galerie je opravdu celkem fajn, s menšími modifikaci jsem si ji dovolil umístit na naše airsoftové stránky http://mkrumlov.tym.cz . Takže autorovi díky.
J-F - 28.03.2011 21:49
Fakt prima galerie. Jednoduché zprovoznění a naprosto dostačující. Díky!!!
Lukáš - 10.11.2010 21:57
Ahoj , galérie je úžasná lepší sem nenašel .. ale potřeboval bych udělat v té složce ješttĚ další podsložku . Př.: udělám 2010 a v tý složce jste třeba dělení na měsíce je to možné ?
dartanan - 23.09.2010 21:11
Chci se zeptat jestli není možné, že to bude špatně fungovat na serveru, který není na linuxu ale je na windows
ALOIS - 02.06.2010 10:38
Ahoj, máš to moc pěkné, poklona. Lze galerii nějak zabudovat do vlastních stránek pomocí <?php include "něco" ?>. No a pak souvislost: Šlo by cestu k fotkám zadat do nějaké "proměnné" a mít tak index galerie kdekoliv? Pokud ano, mohl bys to připsat k návodu? Jsem laik, hledám galerii, která je jednoduchá, hezká, a vložitelná. Tvoje je :-) Děkuju předem
Naoka - 08.05.2010 11:42
Ahoj, moc sa mi tato galeria paci. Chcela by som sa opytat ci ju pre fungovanie v najnovsej opere treba nejako upravit, pretoze mi korektne nefunguje.
PETR - 04.04.2010 14:24
Díky za rychlost :)
Doplnění: ještě jsem musel upravit soubor "sablona.phtml". Pod "<h2>[nadpis]</h2>" jsem musel připojit tu proměnnou: "[text]<br /><br />" (všechno bez uvozovek) - pak se už zobrazuje korektně
Smíťa - 04.04.2010 13:52
O téhle funkci jsem také přemýšlel a asi ji začlením do nějaké další verze. Jde opět jen o drobnou úpravu kódu index.php. Nadefinoval jsem proměnnou text (na začátku), pokud existuje soubor info.txt načte se jeho obsah (cca řádek 45), a na konci se nejde v šabloně nový blok [text] a do něj se text vepíše. Uvažoval jsem i na načtení řádku textu z config.txt, jen by to nebylo úplně pohodlné při delších textech. Upravený soubor index.php (obě varianty načtení textu) zde.
PETR - 04.04.2010 13:16
ještě jedna otázka: u některých galerií bych potřeboval i krátký popis (cca 3 řádky textu). Jakým způsobem to připojit do šablony? (text by byl např. v souboru info.txt). Díky za odpověď
PETR - 04.04.2010 12:25
Díky za rychlou odpověď, funguje to bezvadně
Smíťa - 04.04.2010 01:17
No, standardně to nejde, ale drobnou upravou kodu toho lze dosahnout, musi se upravit soubor img.php a za radek $im2=imagecreatetruecolor($height*4/3, $height); (cca radek 20) pripsat $barva = imagecolorallocate($im2, 0xFF, 0xF4, 0x40); imagefill($im2, 0, 0, $barva);
PETR - 04.04.2010 00:39
Zdravím, jde nějka změnit (jednoduše) barva pozadí u obrázků na výšku? Při generování miniatur se u těchto fotek vykreslí boky černě - potřeboval bych jinou barvu. Díky za odpověď
Smíťa - 02.08.2009 16:41
nevím přesně co myslíš, ale určitě se nějaké řešení najde, blíž popiš co a kde bys chtěl zobrazovat ;-)
martinvlorenc - 01.08.2009 23:46
jeste se chci zeptat - sem ouplny amater - kde najdu a zmenim, aby se mi nahled fotek zobrazoval ne uprostred cele stranky ale na TOPu? ...dekuju moc :-)
martinvlorenc - 01.08.2009 21:32
tak tohle je ta nejúžasnější fotogalerka, co sem kdy videl...diky a srozumitelny navod....vynikajici prace z tve strany!!!! budu te doporucovat a tve stranky!!!
Shorty - 23.02.2009 16:32
Jeste bys mohl pridat upload obrazku pres prohlizec a nejaky popisky k tomu - kdo to uploadl, popis, nazev obrazku popř. datum uložení
maxpeet - 19.01.2009 03:11
je to to pravé.
Smíťa - 18.01.2009 23:09
Opravdu se tak může stávat na některých serverech, jde o složku mini, které dostane nízká práva... Napsal jsem skriptík, který je změní, při spuštění ve složce s originály - chmod.php
maxpeet - 18.01.2009 18:31
Je to super, ale jak odstraním složku z FTP a z vygenerovaného seznamu galerií
Smíťa - 16.01.2009 19:47
OK, bude :-) Ale až zase bude chvilka času..
Cyberspeed - 13.01.2009 20:45
Tím i možnost "Předchozí" :)
Cyberspeed - 13.01.2009 20:43
No pokud bys chtěl ještě něco vylepšovat. Tak můžeš přidat možnost kolik obrázku se má zobrazit ve složce. Myslím tím když budeš chtít třeba jen 24 obrázku na stránku a pak aby dalo možnost volby "Další" :)
Smíťa - 13.01.2009 12:16
Díky, přijímám další nápady a připomínky ;-)
Cyberspeed - 12.01.2009 16:18
Super takhle to je fakt parada.
Cyberspeed - 11.01.2009 01:29
Nemusí být náhodný, stačí vybrat třeba první obrázek.
Smíťa - 09.01.2009 18:26
To by šlo, aby to bylo dobře nastavitelné mohl bych asi udělat nějakou formu šablony, protože současné zobrazení se moc pro náhledy ze složky nehodí... Otázka je, zda opravdu náhodně vybrat obrázek, nebo zvolit jeden konkrétní.
Cyberspeed - 06.01.2009 23:29
Jen bych tam přidal, aby u záložek načetlo náhodně obrázek ze záložky :)
Cyberspeed - 06.01.2009 23:13
Ahoj super galerie, takovou jsem hledal

linkuj.czjagg.czpošli na vybrali.sme.skdeliciousTopČlánky.cz
Nahoru HOME PC•Elektro Programování Blog Autor Lynt Speciální backlink: Šulislav
© 2006 Smitka development