Autor Zpráva
Manny
Profil
Nazdárek lidičky. překvapila mně jedna věc.
Následující kód by měl zobrazit vždy jeden konkrétní obrázek.
$adresar = @scandir($cesta);
                if($adresar == false) 
                    $ukazka .= '<img src="design/noimg.jpg">';
                else {
                    $obrazky = array('jpg', 'jpeg', 'png', 'gif');            //seznam povolených koncovek souborů - obrázků
        
                    foreach($adresar as $soubor)
                        {
                        if(is_file($cesta.$soubor) && in_array(strtolower(pathinfo($cesta.$soubor,PATHINFO_EXTENSION)),$obrazky))    
                                //kontrola, zda položka v poli je nějaký soubor a má povolenou koncovku
                            {    
                            $img_gallery[] = $soubor;
                            }
                        }
                    
                    $width = 310;
                                        
                    $ukazka .= '<div class="image">'.$action.'<img src="require/mini.php?path='.$cesta.$adresar[2].'&amp;width='.$width.'"></div>';
                    }

Tahle část kódu je součástí while cyklu, několkrát se opakuje a tedy proměnná $cesta je různá.
Problém je v cestě resp. názvu obrázku, který se zobrazuje. Aktuálně použitý zápis $cesta.$adresar[2] funguje.
Pokud ale použuju hodnotu z pole $img_gallery, kde by měly být očištěná data, je při každém průchodu while cyklem název obrázku stejný. Jako by pole $img_gallery zůstávalo stejné a nepřepisovalo se. Proč?


Tak jsem si vypsal pole $img_gallery a přišel na to. Do pole se při každém průchodu přidajé nové klíče. Takže $img_gallery[2] je stále stejný, jen se zvětšuje pole. Stačilo na začátek nastavit $img_gallery = false

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: