![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam Panowie !
Poniższy skrypt wyświetla mi miniatury z katalogu (dodatkowo stronicuje całą zawartość). Kod function wyswietl_tapety($lokalizacja, $adres, $poczatek=0, $ilosc=12, $rzad=4) // wyswietlanie { $dir = opendir("$lokalizacja"); $all = 0; // dodajemy zmienną $wyswietlonych = 0; while($plik = readdir($dir)) { if(ereg(".jpg$|.jpeg$", strtolower($plik))) { $all++; // zwiększamy o 1; if ($all > $poczatek && $wyswietlonych < $ilosc) { $sciezka_mini = $lokalizacja.'/mini/'.$plik; $sciezka="$lokalizacja/$plik"; if (!file_exists($sciezka_mini)) { Thumbnail(130, 180, $sciezka, $sciezka_mini, 50); } $wyswietlonych++; echo "<a href=\"$sciezka\"><img src=\"$sciezka_mini\" border=1 /></a>"; echo(' '); if($wyswietlonych%$rzad == 0) { echo '<br />'; } // jeśli mamy 5 w rzędzie to przenosimy do nowej linii } } } closedir($dir); echo '<br/>'; for ($poczatek_s=0, $strona=1; $poczatek_s <= $all; $poczatek_s += $ilosc, $strona++) { if ($poczatek == $poczatek_s) echo '<span class=text_6>'."$strona ".'</span>'; else echo '<span class=text_3> '.'<a href="'.$adres.'poczatek=' . $poczatek_s . '">' . $strona . '</a>'.' </span>'; } } Jak mogę to przerobić żeby miniatury były wyświetlane w porządku alfabetycznym (według nazw własnych) a nie jak to się ma obecnie na zasadzie przypadku. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Ładujesz nazwy plików do tablicy, przepuszczasz przez funkcję sort() albo natsort() (wyniki ich działania nieco się różnią, ale jak kto woli), albo też - jeśli chcesz mieć najpierw katalogi - usort(), z tym że tutaj musisz stworzyć własną funkcję porównującą. Listę generujesz dopiero z takiej posortowanej tablicy.
PS. Nie używaj wyrażeń regularnych POSIX (funkcja ereg()), tylko PCRE (preg_match()) - są one nie tylko potężniejsze, ale i wydajniejsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:42 |