Autor Zpráva
nospeeder
Profil
Zdravím :) Mám tady script na PHP galerii a potřeboval bych upravit dvě věci ... :) Potřeboval bych aby se mi vždy zobrazila jen JEDNA fotka , a abych měl dole pod obrázkem možnost posunout se na další soubor v adresáři . Čili nějaké odkazy - další , předchozí ..
Omlouvám se , píšu tady celkem často ale v PHP jsem opravdu začátečník :/
<?php 


$nazev_slozky="nahraj/files"; 

$slozka=opendir($nazev_slozky); 
if($slozka==false) die; 
while($soubor=readdir($slozka)) { 
if($soubor==".." || $soubor==".") continue; 
if(eregi("nahled_", $soubor)) continue; 
if(eregi("jpg",$soubor)) { 
$obrazky[]=$soubor; 
}  
} 
closedir($slozka); 

$pocet_obrazku=count($obrazky); 
$i=0; 
for($i; $i<$pocet_obrazku; ++$i) { 
list($sirka, $vyska)=getimagesize($nazev_slozky."/".$obrazky[$i]); 
$nova_sirka=500; 
$nova_vyska=450; 
$blank=imagecreatetruecolor($nova_sirka, $nova_vyska); 
$zdroj=imagecreatefromjpeg($nazev_slozky."/".$obrazky[$i]); 
sort($obrazky);
imagecopyresized($blank, $zdroj, 0, 0, 0, 0, $nova_sirka, $nova_vyska, $sirka, $vyska); 
imagejpeg($blank, $nazev_slozky."/nahled_".$obrazky[$i], 100); 
echo "<a href=\"".$nazev_slozky."/".$obrazky[$i]."\" rel=\"lightbox[node_images]\"><img src=\"".$nazev_slozky."/nahled_".$obrazky[$i]."\" alt=\"".$obrazky[$i]."\" /></a>&nbsp;\n";
} 
?>
scheras
Profil *
Hned začátek scriptu je špatně. Používáte cyklus while, kterým vybíráte všechny soubory ze slozky. Vy ovšem chcete právě jeden, takže musíte buď ukončit while po vybrání prvního obrázku, nebo změnit cyklus. U všech následujících. resp. předcházejících, zobrazíte obrázek, který je v pořadí na n+1, resp. n-1.
nospeeder
Profil
Ehm... Sem opravdu začátečník .. Omlouvám se .. pročetl jsem již několik tutoriálů ...
Mohl byste mi to prosím přepsat a já bych se pak podíval na změny a prostudoval si proč to tak je ... ?
Medvídek
Profil
nospeeder:
Nějak pro hrubou představu by to šlo takto:

$current = 0; //zde bych si bral to co prijde z GETu a kontroloval jestli je v rozshau
$files = glob("*.jpg");
$count = count($files);

if($count > 0){
  echo '<img src="'.$files[$current].'">';
  if($current < $count){
    echo '<a href="?next='.($current+1).'">další fotka</a>';
  }  
}
nospeeder
Profil
Uh... Omlouvám se .. Medvídek díky za kod .. ale .. mohl by jste mi to prosím nějak více objasnit ? Zkoušel jsem ho tam dát samotný , nebo ho zkombinovat s tím svým ale absolutně to nechápu ... :/

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: