Autor | Zpráva | ||
---|---|---|---|
Silvershadow Profil * |
#1 · Zasláno: 26. 5. 2011, 18:58:51
Použil jsem tento příklad galerie a soubor funkce.php tedy vypadá takto
<?php Function ZobrazGalerii($cesta = "images/zakulisi/velke/", $cesta_male = "images/zakulisi/miniatury/", $strana = 1, $sirka_tabulky = "100%", $pocetH = 3, $pocetV = 3) { $adresar = OpenDir($cesta); // otevre adresar $soubor = Array(); // zinicializuje pole while ($zaznam = ReadDir($adresar)) { // nacte nazev souboru if (!Is_Dir("$cesta/$zaznam")) { // zkontroluje zda neni nazev adresar $soubor[] = $zaznam; // ulozi do pole soubor } } CloseDir($adresar); // uzavre adresar Sort($soubor); // srovna nazvy souboru echo "<table width=$sirka_tabulky class=tabulkagalerie>\n<tr>\n"; $sloupec = 0;$radka = 1; $sirka = Floor(100 / $pocetH); // procentualni sirka jednoho sloupce $obrazek_cislo = ($strana - 1) * $pocetH * $pocetV; // ktery obrazek bude prvni while ($obrazek = $soubor[$obrazek_cislo]) { // opakuj dokud nevycerpame vsechny obrazky $sloupec++; if ($sloupec > $pocetH) { // pokud sloupec prekroci pocet cloupcu, $sloupec = 1; $radka++; echo "</tr><tr>\n"; // .., tak se vytvori nova radka } if ($radka > $pocetV) break; // pokud prekrocime pocet radku, skoncime cyklus echo "<td width=\"$sirka%\">"; echo "<a href=\"$cesta/$obrazek\">"; echo "<img src=\"$cesta_male/small_$obrazek\"></a>"; echo "</td>\n"; $obrazek_cislo++; } echo "</tr><tr><td colspan=$pocetH align=center>\n"; $pocet_stran = Ceil( Count($soubor) / ($pocetH * $pocetV) ); // spocitame pocet stran galerie for ($i=1; $i<=$pocet_stran; $i++) { // cyklus pro zobrazeni navigacni listy if ($i!=$strana) { echo "<a href=?strana=$i>$i</a> | "; } else { echo "$i | "; } } echo "</td></tr></table>\n"; } ?> a kód v html pro zobrazení takto: <? include "funkce.php"; // nacteme knihovnu s funkci if (!isset($strana)) $strana = 1; ZobrazGalerii("galerie1","galerie1/small",$strana); // zobrazi galerii ?> Co je natom špatně, že mi to vypisuje tyto chyby: Warning: opendir(galerie1): failed to open dir: No such file or directory in /home/users/anonym/plajst.endora.cz/web/funkce.php on line 4 Warning: readdir() expects parameter 1 to be resource, boolean given in /home/users/anonym/plajst.endora.cz/web/funkce.php on line 6 Warning: closedir() expects parameter 1 to be resource, boolean given in /home/users//anonym/plajst.endora.cz/web/funkce.php on line 11 |
||
Darker Profil |
#2 · Zasláno: 26. 5. 2011, 19:10:42 · Upravil/a: Darker
Warning: opendir(galerie1): failed to open dir: No such file or directory in ... - Složka neexistuje, nebo je chráněná.
Další chyby jsou následkem neotevření složky. Funkce čekají handle (to je to resource) ke složce a dostanou false (a tohle je boolean). Nezapomeň, kde skript složku hledá, a ujisti se,že tam je. |
||
Silvershadow Profil * |
#3 · Zasláno: 26. 5. 2011, 19:27:07
Díky, chtěl jsem tam přidat ještě lightbox,takže příslušný řádek v php vypadá takto
echo "<a href=\"$cesta/$obrazek\" rel="lightbox[galerie]">"; |
||
Darker Profil |
#4 · Zasláno: 26. 5. 2011, 19:28:30 · Upravil/a: Darker
echo "<a href=\"$cesta/$obrazek\" rel=\"lightbox[galerie]\">"; Zrovna dneska se tu o escapování uvozovek mluvilo. Řešením je též: echo "<a href='$cesta/$obrazek' rel='lightbox[galerie]'>"; nebo ?><a href="<?php echo "$cesta/$obrazek"; ?>" rel="lightbox[galerie]"><?php |
||
Silvershadow Profil * |
#5 · Zasláno: 27. 5. 2011, 17:28:59
Tak jsem ji zprovoznil, ale mám problém se stránkami, mám 6 sloupců a 5 řádek, takže 30 obrázků na stránku, ve složce 32 obrázků, takže se vytvoří u druhá stránka, jenže po kliknutí na druhou stránku, se sice v adresním řádku změní stránka, ale obsah zůstává stejný, v komentářích k tomuto příkladu to také zaznělo a našem jsem tam toto : Trvalo mi celou vecnost nez sem na to prisel... To predani parametru musi byt provedeno pres superglobalni promennou. Takze provedeme mensi zmenu ve vstupnich parametrech funkce zobrazgalerii a to ze $strana = $_GET["strana"] Melo by fungovat... , ale když někam do kódu vložím
$strana = $_GET["strana"] |
||
Časová prodleva: 13 let
|
0