Mam "mały" problem z galerią zdjęć, który pojawia się z chwilą, gdy ilość zdjęć pokrywa się dokładnie z iloczynem zadeklarowanej ilości wierszy i kolumn (w tym przypadku 3*5).
Kiedy mam 15 zdjęć (czyli dokładnie tyle ile wynosi iloczyn wierszy i kolumn), to zdjęcia się nie wyświetlają. Gdy zdjęć jest mniej lub więcej niż 15, to wszystko działa jak należy.
Kod:
<?php /* Ustalamy w jakim katalogu znajduja sie zdjecia oraz ile wierszy i kolumn bedzie tworzyc galeria jednej strony. */ /* Przeczesujemy wybrana lokalizacje w poszukiwaniu plikow .jpg i zapisujemy ich nazwy w tablicy $album. Wszelkie informacje o plikach beda teraz odczytywane z tej tablicy dzieki czemu ograniczymy mielenie dyskiem do minimum :) */ $x=0; foreach (glob(KATALOG_ZDJEC."{*.jpg,*.JPG*.gif,*.GIF*.png,*.PNG}", GLOB_BRACE) as $zdjecie) $album[$x++]=$zdjecie; /* Zliczamy ile fotek lacznie pojawi sie na jednej stronie oraz calkowita ich liczbe */ $na_stronie=WIERSZY*KOLUMN; /* Dzieki czemu mozemy wyliczyc liczbe stron. Czesc calkowita z dzielenia liczby fotek przez liczbe zdjec na jednej stronie da laczna liczbe stron. Jesli zostanie jakas reszta z dzielenia to znaczy ze potrzebujemy jeszcze jednej strony dla wyswietlenie kilku ostatnich zdjec. */ $stron+=$razem % $na_stronie ? 1:0; /* Zmienna $pokaz_strone przechowuje nr. akutalnej strony do wyswietlenia. Jej wartosc odczytywana jest z adresu strony (np. http://szabloniki.com/galeria.php?pokaz_strone=4) Jesli wartosc nie zostala ustalona (http://szabloniki.com/galeria.php) przyjmujemy ze wyswietlamy strone 1. */ @$pokaz_strone=$_GET['pokaz_strone']; /* Bedziemy odczytywac tylko te fragmenty tablicy $album ktore zawieraja zdjecia wystepujace na danej stronie, dlatego potrzebujemy ustalic jaki bedzie to obszar. */ $start=($pokaz_strone-1) * $na_stronie; $stop=($pokaz_strone==$stron) ? $razem % $na_stronie: $na_stronie; $stop+=$start; /* Z wybranych elementow rysujemy tabelke */ for ($x=$start;$x<$stop;$x++) { /* Jesli osiagnieto ustalona liczbe kolumn przechodzimy do nastepnego wiersza */ /* Tworzymy obrazek ktory wygenerowany zostanie przez skrypt mini.php na podstawie przekazanej nazwy pliku. */ echo "<td><a href=\"".$album[$x]."\" rel=\"lightbox [galeria]\" title=\"Galeria\"><img src=\"mini.php?fotka="."{$album[$x]}\"></a><br>"; /* Ponizsze linie sprawdzaja czy w katalogu ze zdjeciem istnieje taki sam plik z roszerzeniem .txt. Jesli tak, wyswietla jego zawartosc pod zdjeciem. */ { } } /* Jesli mamy wiecej niz jedna strone wyswietlimy ich liste */ if ($stron>1) { { /* Biezaca strone pogrubimy a pozostale beda linkami z odpowiednim adresem */ if ($pokaz_strone==$x) else } } ?>
Wydaje mi się, że błąd leży w liniach 34-36, ale niestety nie mogę sobie z nim poradzić.