Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]alfabetyczne wyświetlanie miniatur
shreker
post
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('&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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Zyx
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:42