Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]alfabetyczne wyświetlanie miniatur
Forum PHP.pl > Forum > Przedszkole
shreker
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('&nbsp;&nbsp;');
                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>&nbsp;'.'<a href="'.$adres.'poczatek=' . $poczatek_s . '">' . $strona . '</a>'.'&nbsp;&nbsp;</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.
Zyx
Ł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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.