řazení obrázků v galerii
5 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Dobrý den, prosím o radu. Mám na svých stránkách obrázkové katalogy vytvořené následujícím způsobem. Načtou se všechny náhledy z adresáře, a každý odkazuje na stejnojmenný soubor v jiné složce: $slozka = dir("nahledy"); while($soubor=$slozka->read()) { if ($soubor=="." || $soubor=="..") continue; echo "<div class=\"katalog\"><a href=\"obrazky/$soubor\"> <img src=\"nahledy/$soubor\" alt=\"$soubor\" /> </a></div>"; } $slozka->close(); Názvy souborů obsahují čísla, podle kterých jsem očekávala řazení obrázků na stránce (na testovacím prostřecí v mém počítači to tak funguje). Na Webzdarma se však obrázky řadí podle jiného kritéria. Poradíte mi, podle kterého, a jak mohu pořadí obrázků ovlivnit (kromě vypisování nebo generování do stránky)?
-
názvy obrázků se místo výpisu při načítání uloží do pole, pole se pak setřídí a teprve setříděné pole se vypíše
-
něco jako: <?php $slozka = dir("nahledy"); while($soubor=$slozka->read()) { if ($soubor=="." || $soubor=="..") continue; $pole[]=$soubor; } $slozka->close(); sort($pole); while (list ($key, $soubor) = each ($pole)) { echo "<div class=\"katalog\"><a href=\"obrazky/$soubor\"> <img src=\"nahledy/$soubor\" alt=\"$soubor\" /> </a></div>"; } ?> nebo <?php $slozka = dir("nahledy"); while($pole[]=$slozka->read()) {} $slozka->close(); sort($pole); while (list ($key, $soubor) = each ($pole)) { if ($soubor=="." || $soubor=="..") continue; echo "<div class=\"katalog\"><a href=\"obrazky/$soubor\"> <img src=\"nahledy/$soubor\" alt=\"$soubor\" /> </a></div>"; } ?>
-
Děkuji, funguje to. Jen se zobrazovaly dva prázdné <div>y, ale to jsem ošetřila.
-
<HTML>Pozor na 2 drobnosti: <code><span style="color: #000000"> <span style="color: #0000BB"><?php </span><span style="color: #0000BB">$pole </span><span style="color: #007700">= array(); </span><span style="color: #FF8000">// pozor na to, nezapominat na inicializaci </span><span style="color: #0000BB">$slozka </span><span style="color: #007700">= </span><span style="color: #0000BB">dir</span><span style="color: #007700">(</span><span style="color: #DD0000">"."</span><span style="color: #007700">); while (</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">=</span><span style="color: #0000BB">$slozka</span><span style="color: #007700">-></span><span style="color: #0000BB">read</span><span style="color: #007700">()) if (</span><span style="color: #0000BB">is_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$slozka</span><span style="color: #007700">-></span><span style="color: #0000BB">path</span><span style="color: #007700">.</span><span style="color: #DD0000">'/'</span><span style="color: #007700">.</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">)) </span><span style="color: #0000BB">$pole</span><span style="color: #007700">[] = </span><span style="color: #0000BB">$soubor</span><span style="color: #007700">; </span><span style="color: #FF8000">// vypustit '.' a '..' nestaci </span><span style="color: #0000BB">sort</span><span style="color: #007700">(</span><span style="color: #0000BB">$pole</span><span style="color: #007700">); </span> foreach (</span><span style="color: #0000BB">$pole </span><span style="color: #007700">as </span><span style="color: #0000BB">$soubor</span><span style="color: #007700">) echo </span><span style="color: #DD0000">'<div class="katalog">'</span><span style="color: #007700">.</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">.</span><span style="color: #DD0000">'<a href="obrazky/'</span><span style="color: #007700">.</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">.</span><span style="color: #DD0000">'"> <img src="nahledy/'</span><span style="color: #007700">.</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">.</span><span style="color: #DD0000">'" alt="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$soubor</span><span style="color: #007700">.</span><span style="color: #DD0000">'" /></a></div>'</span><span style="color: #007700">; </span><span style="color: #FF8000">// s escapovanim znaku se v tom spatne orientuje </span><span style="color: #0000BB">?> </span> </span> </code></HTML>