![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 18.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Mam kod, który pobiera mi wszystkie obrazki z folderów umieszczonych na serwerze, a potem je wyświetla na stronie. Sęk w tym, że kolejność wyświetlania ich na localhoście i na serwerze jest inna. Więc mam dwie opcje: 1) Dowiedzieć się w jaki sposób pliki są pobierane z serwera (na tą chwilę wydaje mi się, że jest to przypadkowość, bo nie jest to ani data modyfikacji, ani nazwa pliku). 2) Przerobić kod tak, żeby dobrze wyświetlał pliki niezależnie od wszystkiego. Kod <?php
if ($handle = opendir('./zdjecia')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file !="min") { $plik=$file; $i = explode('.', $plik); $maly = reset($i); echo "<a rel='example_group' href='./zdjecia/".$plik."' title=''><img class='miniaturka' style='border: 1px solid #262626;' alt='' src='./zdjecia/min/".$plik."' /></a>"; }}} ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
To zależy jak chcesz sortować, jeśli np po nazwie pliku, dacie dodania lub jego rozmiarze można to zrobić w kodzie.
Jako klucz tablicy files podajesz nazwę pliku lub inny parametr po którym chcesz sortować i jako wartość przypisujesz kod który ma się wyświetlić. Po wyjściu z pętli sortujesz tablicę według kluczy funkcją ksort oraz przy pomocy funkcji implode sklejasz wartości i wyświetlasz. Kod <?php $files = array(); if ($handle = opendir('./zdjecia')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file !="min") { $plik=$file; $i = explode('.', $plik); $maly = reset($i); $files[$plik] = "<a rel='example_group' href='./zdjecia/".$plik."' title=''><img class='miniaturka' style='border: 1px solid #262626;' alt='' src='./zdjecia/min/".$plik."' /></a>"; }}} ksort($files); echo implode('', $files); ?> Pamiętać należy, aby nie nadpisać wartości gdyby trafił się identyczny klucz (np. gdybyś sortował według daty dodania). Zabezpieczenie można zrobić w ten sposób: Kod if(array_key_exists($key, $files))
{ $i = 0; while(++$i) { $key_buf = $key . $i; if(!array_key_exists($key_buf, $files)) { $files[$key_buf] = 'wartosc'; break; } } } else { $files[$key] = 'wartosc'; } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 05:59 |