Autor | Zpráva | ||
---|---|---|---|
el_bunda Profil |
#1 · Zasláno: 11. 7. 2011, 16:58:43
Zdravím,
mám fotogalerii sestavenou ze složek, a jak je známo, diakritika ve složkách dělá problémy. Rozhodl jsem se to vyřešit tak, že vytvořím soubor (dejme tomu .txt) a do něj napíšu: nazevslozkybezdiakritiky: Název složky s diakritikou. Složku oscanovat umím, rozřezat ten soubor na kousky tak, abych měl každý název zvlášť je taky v pohodě. Problém je v tom, že se mi nedaří poskládat cyklus, ke každé složce přiřadil oba názvy. V podstatě by měl vytvořit toto: <a href="localhost/album/nazevbezdiakritiky">Název s diakritikou</a>. Nevěděl by s tím prosím někdo poradit?? |
||
Sir Tom Profil |
#2 · Zasláno: 11. 7. 2011, 17:37:20
el_bunda:
Také zdravím, co třeba se vykašlat na tento systém a udělat to stylem: mám složku a v ní je textový soubor name.txt, který obsahuje název složky s diakritikou. V každé složce bude vždy 1 soubor name.txt. |
||
el_bunda Profil |
#3 · Zasláno: 12. 7. 2011, 17:16:39
Moc dobrý nápad. Už jsem to zkusil napsat a všechno funguje parádně. Díky
Jenom mám ještě menší problém s navigací: nahoře se zobrazuje hierarchická cesta alb, kterýma se uživatel proklikal (např. Rok 2010 > Červenec > Chorvatsko). Potřeboval bych vymyslet, jak ty názvy s diakritikou zobrazovat i v této navigaci. Zatím mám kód, který mi zobrazí názvy alb jenom bez diakritiky: $album=stripslashes(str_replace(".","",$_GET['album'])); //Aktuální album (předává se pomocí url) $folder=@explode("/",$album); $nav="<a href=\"".$script_url."\"><img src=\"".$open_folder."\" style=\"border:0px;\" align=\"absmiddle\" alt=\"Fotogalerie\" /> ".$home_link."</a> "; $count=@count($folder); for($i=0;$i<$count;$i++) { If($folder[$i]) { $path.=$folder[$i]."/"; $nav .=" > <a href=\"".$script_url."&album=".$path."\"><img src=\"".$open_folder."\" alt=\"".$folder[$i]."\" /> ".$folder[$i]."</a> "; } } Echo($nav); Pomohl by mi to prosím někdo trochu poupravit? |
||
Sir Tom Profil |
#4 · Zasláno: 12. 7. 2011, 19:39:32
el_bunda:
Pokud máš kód, který ti zobrazuje název složek bez diakritiky a onu navigaci i nějak tvoříš vlastním algoritmem (cyklem, postupným procházením složek, apod.), tak můžeš při každém průchodu složkou nechat otevřít i to name.txt a obsah uložit do proměnné pole. Na konci proměnnou vypíšeš - např: foreach($jmenaSlozek as $slozka){ echo $slozka." > "; } |
||
el_bunda Profil |
#5 · Zasláno: 12. 7. 2011, 22:01:09
No jo, jenomže ta navigace slouží zároveň jako odkaz do nadřazeného alba. A když někdo do toho nadřazeného alba vejde, tak zařídím, aby se z toho pole smazal třeba poslední jeden nebo dva řetězce?
|
||
Sir Tom Profil |
#6 · Zasláno: 13. 7. 2011, 07:26:39
el_bunda:
Po otevření nové stránky můžeš celý cyklus zopakovat, nebo použít funkce, které odstraňují prvek z pole: array_pop(). www.google.cz/search?&q=odstran%C4%9Bn%C3%AD+prvku+z+pole+php |
||
el_bunda Profil |
#7 · Zasláno: 13. 7. 2011, 18:37:26
Sir Tom:
Díky moc Tome, ale řešit to pomocí pole mi přišlo trochu moc složité, tak jsem trošku poupravil ten kód, který jsem napsal výš a už to funguje, jak jsem chtěl. Díky za ochotu ;-) |
||
peta Profil |
#8 · Zasláno: 14. 7. 2011, 08:14:14
Nemelo by to byt v tematu php?
http://php.net/manual/en/language.constants.predefined.php pro path by se dali vyuzit konstanty __DIR__, __FILE__ mas $path_here = 'aaa/bbb/ccc'; $path_here = explode('/',path_here); $path = ''; foreach ($path_here as $value) { $path.= $value.'/'; $soubor = $path1.'name.txt'; } (v podstate to tam mas) Predpokladam, ze v name.txt mas prvni radek nazev aktualni slozky. Tim padem je duplicitne tady a o uroven vys, ale to uz si pohlidas. Pripadne bys tam mohl davat celou cestu. Pri prejmenovani slozky vys ji budes muset ale celou zmenit i pro podslozky. Ale i to by se dalo pohlidat. Usetrilo by ti to takoveto cykleni. name.csv , tabulka radky a sloupce type,name,url path,"Foto","foto" path,"Nikolka","foto/nikolka/" path,"Francie, leto 2010","foto/nikolka/francie-leto-2010" folder,"Hrad","foto/nikolka/francie-leto-2010/hrad" folder,"Bazen","foto/nikolka/francie-leto-2010/bazen" http://cz.php.net/fputcsv http://cz.php.net/fgetcsv |
||
Časová prodleva: 13 let
|
0