Autor Zpráva
Petardice
Profil *
Ahoj, nevěděl by někdo, jestli je možné nějak zadat (a jak :)) do php skriptu (galerie je formou lightboxu), aby si to bralo automaticky popisky z externího souboru? Pak ještě jedna zjednodušující věc mě napadla - zatím mám fotky ve dvou souborech: img (obrázky) a thn (zmenšeniny). Je možné mít je v jednom souboru s tím, že obrázek bude mít název např. 01.img a náhled thn01.img a ve skriptu nadefinovat, že jako obrázek má vzít všechno bez thn a jako náhled všechno s thn?
Skript je následující:
<?php 
   $dir="../img/img/psi";//nazev adresare 
   $dir2="../img/thn/psi";//nazev adresare  
   $dh= opendir("./".$dir."/"); 
   while (false !== ($filename = readdir($dh))) 
   if (!is_dir("./".$dir."/".$filename)) 
   { 
   $plist[] = $filename; 
   } 
   sort($plist); 

   foreach($plist as $pname) 
   { 
   echo("<div class=\"cinnost_skript\">". 
   "<a href=\"./".$dir."/".$pname."\" rel=\"lightbox[roadtrip]\">". 
   "<img src=\"./".$dir2."/".$pname."\" alt=\"$pname\">". 
   "</a></div>"); 
   } 
?>


Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
AM_
Profil
Petardice:
Je možné mít je v jednom souboru s tím, že obrázek bude mít název např. 01.img a náhled thn01.img
Máš na mysli v jedné složce?
Ano, možné to je, ale nevím, jestli dobré - ušetříš si starosti s tím, že nějaký obrázek se může jmenovat thn... normálně a pak ho to bude brát jako náhled.

jestli je možné nějak zadat (a jak :)) do php skriptu (galerie je formou lightboxu), aby si to bralo automaticky popisky z externího souboru?
zcela jednoduše, můžeš si udělat třeba třetí složku description/, kde budou stejně pojmenované soubory s popisky. Je to zcela primitivní práce se stringy a soubory, s čím konkrétně si nevíš rady?
Joker
Profil
Petardice:
To zadání zní dost podobně jako něco, co jsem kdysi dělal.
Myšlenka byla:
- Fotogalerii tvoří adresář na webu, ze kterého se vyberou "obrázkové" soubory (podle přípony).
- Náhledy a fotky se propojují názvem souboru, pomocí nějakého konstantního textu před/za názvem fotky (já používám pro velké fotky (název fotky).jpg a náhled pak je (název fotky)_tmb.jpg)
- Popisky jsou v textových souborech (název fotky).txt. Původní myšlenka byla použít EXIF data přímo ve fotce, ale narazil jsem na problém, že různé programy pro úpravu fotek ukládají popisky do různých EXIF položek... a jelikož myšlenka byla jen "mini" skript pro zobrazování a úprava fotek v počítači před nahráním, nešlo se na tohle spolehnout.
- Lze udělat i strukturu galerií, jednoduše pomocí podadresářů.

Kdyžtak ten skript může posloužit jako inspirace... akorát je poněkud zastaralý, kdyžtak můžu poslat vývojovou verzi novějšího a lepšího :), který je navíc zapouzdřený do třídy a IMHO se lépe integruje do jiné webové stránky. Akorát vyžaduje PHP 5, zatímco ten na webu chodí i v PHP 4.
Petardice
Profil *
Zkoušela jsem ty popisky, ale prostě nevím, jak na to :( Udělala jsem si ve složce img složku description, do ní jsem dala psi.txt, ale nevím, jak zapsat do skriptu, že si to má brát popisky z toho konkrétního .txt, a že ke každému obrázku bude konkrétní popisek (fotky mám označené 01.jpg, 02.jpg, 03.jpg.... a ten .txt je psaný:
01;Nela
02;Jess
03;Sára - každá fotka na jednom řádku a mezi názvem fotky a popisem je středník)
Petardice
Profil *
Nikdo neví? :'(
Tronda
Profil *
petardice:
No podívej, nevím jaký skript teď používáš takže tak nějak obecně a univerzálně. Na začátek skriptu vlož
$popisy_pole = explode("\n", file_get_contents("img/description/psi.txt"));
$pocitadlo = 0;

Uvnitř cyklu, kde vypisuješ fotky pak
$popis_fotky = explode(";", $popisy_pole[$pocitadlo]);
echo $popis_fotky[1];
++$pocitadlo;
Petardice
Profil *
prosím, prosím, prosím... moc dík za pomoc, ale prostě se mi to nedaří rozchodit, určitě jen někam něco špatně vkládám... poradil bys mi, jak to vložit do toho skriptu, který jsem uvedla nahoře?... předem MOC děkuju!
Tronda
Profil *
Popis by se měl zobrazit pod fotkou.
<?php
$popisy = explode("\n", file_get_contents("../img/description/psi.txt"));
//pripadne uprav cestu k psi.txt
$pocitadlo = 0;
$dir = "../img/img/psi";
//nazev adresare
$dir2 = "../img/thn/psi";
//nazev adresare
$dh = opendir("./".$dir."/");
while (false !== ($filename = readdir($dh)))
if (!is_dir("./".$dir."/".$filename)) {
$plist[] = $filename; }
sort($plist);
foreach($plist as $pname) {
$popisfotky = explode(";", $popisy[$pocitadlo]);
echo("<div class=\"cinnost_skript\">"."<a href=\"./".$dir."/".$pname."\" rel=\"lightbox [roadtrip]\">"."<img src=\"./".$dir2."/".$pname."\" alt=\"$pname\">"."</a><br>".$popisfotky[1]."</div>");
++$pocitadlo;
} ?>
Petardice
Profil *
Nechápu proč, ale fakt to nefunguje - skript jsem zkopírovala, ale když najedu na stránku s fotkama, fotky se vůbec nezobrazí a když si dám zobrazit zdrojový kód, objeví se jen:
<table>
<tr>
<th>


</th>
</tr>
</table>
Uvnitř tabulky by měly být ty fotky... Nemůže být problém v tom, že je to lightbox?
Petardice
Profil *
Tak zpátky na zem - omlouvám se, chyba byla na mé straně. Funguje to, nicméně ne tak, jak bych chtěla, špatně jsem se vyjádřila. Mám odkaz na fotogalerii, na něj kliknu a zobrazí se mi náhledy fotek (ty chci bez popisku). Při kliknutí na fotku se mi rozjede lightbox a tady bych chtěla, aby se mi zobrazoval u každého obrázku popis, který by byl dotažený z toho externího souboru. Asi to píšu dost krkolomně, co? :(
Tronda
Profil *
Aha, tak popis se potom vkládá do atributu title tagu a.
<?php
$popisy = explode("\n", file_get_contents("../img/description/psi.txt"));
//pripadne uprav cestu k psi.txt
$pocitadlo = 0;
$dir="../img/img/psi";
//nazev adresare
$dir2="../img/thn/psi";
//nazev adresare
$dh= opendir("./".$dir."/");
while (false !== ($filename = readdir($dh)))
if (!is_dir("./".$dir."/".$filename)) {
$plist[] = $filename; }
sort($plist);
foreach($plist as $pname) {
$popisfotky = explode(";", $popisy[$pocitadlo]);
echo("<div class=\"cinnost_skript\">".
"<a title='".$popisfotky[1]."' href=\"./".$dir."/".$pname."\" rel=\"lightbox [roadtrip]\">".
"<img src=\"./".$dir2."/".$pname."\" alt=\"$pname\">".
"</a></div>");
++$pocitadlo;
} ?>
Petardice
Profil *
Díky moc, jsi úžasnej ;) já byla přesvědčená, že se to bude muset udělat v tom javascriptu, že to prostě v tomhle skriptu na fotky nepůjde...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0