Autor Zpráva
Jura
Profil *
Zkoušel jsem na localhostu tento kód pro zobrazení obrázků v adresáři. Funguje dobře až na to, že navíc se zobrazí vždy ještě 2 prázdná okýnka (myslím tím klasická okýnka, která se zobrazí, když prohlížeč nemůže najít cestu k obrázku) před zobrazenými fotkami z adresáře. Nevíte, v čem je problém? Díky

<?php
$handle=opendir('pictures');

while (($file = readdir($handle))!==false) {
echo "<img src=\"pictures/$file\" />\n ";
}
closedir($handle);
?>
Charlie
Profil
To jsou odkazy "." a ".." na aktuální a rodičovskou složku. Přidej:
 if ($file != "." && $file != ".." {

echo "<img.... />";
}
Jura
Profil *
Děkuju, už to funguje :)
Jura
Profil *
Objevil se menší problém. Obrázky z adresáře pojmenované čísly 1, 2, 3 atd. se nesařadily postupně za sebou. Můžu to nějak ovlivnit?
Anonymní
Profil *
ani moc ne, ale v tom cyklu bych je zaradil do pole, pak seradil (pole na to maji par fci) a pak v dalsim cyklu uz vypisoval adresy z toho pole do tagu.
Jura
Profil *
v tom cyklu bych je zaradil do pole, pak seradil (pole na to maji par fci) a pak v dalsim cyklu uz vypisoval adresy z toho pole do tagu.

Mohl bych poprosit o názorný příklad? ne že bych nerozumněl, tomu jak to myslíš a co znamenají pole, ale přece jen jsem v php začátečník... děkuji.
Havel-st
Profil *
Možná jsou seřazeny podle abecedy,
zkusil bych při při pojmenovávání obrázků použít zeroising: 001, 002, 010 ...
to bere i abecední řazení ... a nepoužívat podtžítka na začátku a pod.
Havel-st
Profil *
jinak by to mohlo jít nějak takhle:

<?php
$adresar = opendir('./pictures/');
while ($soubor = readdir($adresar))
$fotky[] = $soubor;
closedir($adresar);

sort($fotky, SORT_NUMERIC); // podle číselné hodnoty
for($i=0;$i<Count($fotky); $i++)
if ($fotky[$i]!= "." && $fotky[$i]!= "..") {
echo("<img src=\"pictures/".$fotky[$i]."\">\n"); }
?>
23k_tired
Profil *
jj presne tak by to mohlo jit... ;) akorat ja bych pouzil FOREACH();
Toto téma je uzamčeno. Odpověď nelze zaslat.

0