Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 29. 6. 2013, 12:23:42
Dobrý den.
1. Mám kód kde bych rád vypisoval pouze složky. Myslel jsem že toho docílim podmínkou if(!is_dir($soubor)) ... ale bohužel mi to nějak nefunguje. <div class="main_gallery"> <?php $slozka = OpenDir ("./images/albums/"); while (false !== ($soubor = ReadDir ($slozka))) { if($soubor != "." and $soubor != ".." and $soubor != "" and !is_dir($soubor)) { echo "<div class=\"albums-gallery\"><div class=\"albums-gallery-head\">".$soubor."</div><div class=\"albums-gallery-content\">Obsah</div></div>"; } } ?> </div> 2. Dále bych rád vždy vzal 4 náhodné soubory vždy z každé vypisované složky a dal je do <img src="./images/albums/$slozka/$soubor" /> šlo by vždy u každého alba takhle vypsat 4 náhodné soubory z něj?? Předem děkuji za odpovědi. |
||
Alphard Profil |
#2 · Zasláno: 29. 6. 2013, 12:51:48
Opět typická chyba, $soubor neobsahuje cestu k souboru.
Výpis náhodných obrázků je řešen ve FAQ. |
||
Micruss Profil |
#3 · Zasláno: 29. 6. 2013, 13:02:10
Nastav cestu
např. <? $path = "./images/albums/"; $slozka = OpenDir ($path); // while......... while (false !== ($soubor = ReadDir ($slozka))) { if($soubor != "." and $soubor != "..") { // podmínka if(!is_dir($path.$soubor)) { // zbytek kódu } } ?> a výpis obrázků bych řešil uložení obrázků do array(); a potom shuffle(); |
||
Bertram Profil |
#4 · Zasláno: 29. 6. 2013, 13:04:26
<?php $dir = new DirectoryIterator(__DIR__); foreach ($dir as $item) { if(!$item->isDot()) { if($item->isDir()) { echo $item->getFilename() . "<br />"; } } } ?> |
||
Fisak Profil |
#5 · Zasláno: 29. 6. 2013, 15:45:01 · Upravil/a: Fisak
Micruss:
Děkuji za radu ještě si dovolím opravit: if(is_dir($path.$soubor)) {... Ještě dotaz... Můj kod vypadá teďkonc takto: <?php echo "<div class=\"main_gallery\">"; $path = "./images/albums/"; $slozka = OpenDir ($path); // while......... while (false !== ($soubor = ReadDir ($slozka))) { if($soubor != "." and $soubor != "..") { // podmínka if(is_dir($path.$soubor)) { echo "<div class=\"albums-gallery\"><div class=\"albums-gallery-head\">".$soubor."</div><div class=\"albums-gallery-content\">"; $path_albs = "./images/albums/".$soubor."/"; $slozka_albs = OpenDir ($path_albs); $i = 1; // while......... while (false !== ($soubor_albs = ReadDir ($slozka_albs))) { $i++; if($soubor_albs != "." and $soubor_albs != "..") { // podmínka if(!is_dir($path_albs.$soubor_albs) and $i <= 4) { echo "<img src=\"".$path_albs.$soubor_albs."\" width=\"75px\" height=\"75px\"/>"; } } } echo "</div></div>"; } } } echo "</div>"; |
||
Tori Profil |
#6 · Zasláno: 29. 6. 2013, 20:40:55
$i = 1 musí být ještě před začátkem prvního cyklu. Tohle: and $i <= 4 (ř.28) bych vyhodila a na začátek vnořeného cyklu (třeba místo ř.24) dala if ($i > 4) break 2; . Počet obrázků k zobrazení bych asi kvůli přehlednosti dala do proměnné, přijde mi to lepší než magické číslo.
|
||
Časová prodleva: 11 let
|
0