Autor | Zpráva | ||
---|---|---|---|
Manny Profil |
#1 · Zasláno: 6. 1. 2014, 13:39:54 · Upravil/a: Manny
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].'&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
|
||
Časová prodleva: 11 let
|
0