![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki kod który wyświetla miniatury z pliku i chciałbym zmienić go tak aby wyświetlał je według kolejności modyfikacji. Pomoże ktoś?
<div align="center" id="galeria";> <ul><?php $katalog = "obrazki"; $katalogminiaturki = "miniaturki"; $galeria = opendir( $katalog ); while ( $zdjecie = readdir( $galeria ) ){ $odczyt = pathinfo( $katalog.'/'.$zdjecie ); if ( $odczyt['extension'] == 'jpg' ){ echo '<li> <a rel="mlbox[test]" href="'.$katalog.'/'.$zdjecie.'" rel="mlbox" > <img src="'.$katalogminiaturki.'/'.$zdjecie.'" alt="ZdjÍcie: '.$zdjecie.'" /></a></li>'; } } closedir($galeria); ?> </ul> </div> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś dokładnie powiedzieć jak to przeszktałcić?
Nie znam sie na php za bardzo a potrzebuje tego na szybko. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie znam sie na php za bardzo a potrzebuje tego na szybko. @arekko urastasz do miana mojego bohatera :-) ... skoro umiesz się tak dobrze sprzedać to może ten model biznesowy będzie Ci bardziej na rękę niż programowanie |
|
|
![]()
Post
#5
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Niekoniecznie trzeba zakładać 3 wątki.
http://forum.php.pl/index.php?showtopic=239099 http://forum.php.pl/index.php?showtopic=238539 http://forum.php.pl/index.php?showtopic=238317 Proszę użyć bb-code dla kodu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem coś takiego, zdjęcia się wyświetlają z datą modyfikacji i nazwą jednak nie są posortowane według kolejności. Wyskakuje mi też coś takiego:
Warning: filemtime() [function.filemtime]: stat failed for 2.png in /home/u181711956/public_html/test/test.php on line 33 A 33 linia to: $zdjecia[filemtime($zdjecie)] = $zdjecia; A to kod:
Gdzie tu jest problem? Ten post edytował arekko 6.02.2015, 16:02:49 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Do filemtime przekaż całą ścieżkę do pliku, czyli $katalog.'/'.$zdjecie
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W linii 33.
$zdjecia[filemtime($zdjecie)] = $zdjecia; filemtime nie zgadnie w jakim katalogu siedzi zdjęcie jeśli nie znajdzie w bieżącym. P.S. $zdjecia[...]=$zdjecia ? |
|
|
![]()
Post
#9
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Okej, błędu już nie ma. Jednak zdjęcia dalej nie są posortowane według daty. Obok zdjęcia wyskakuje mi data "January 24 2015, 16:30:28-Array" i to obok każdego taka sama. Coś tu nie działa.
Kod wygląda teraz tak:
Co jest nie tak? |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Juz raz ci to pokazywano...
$zdjecia[filemtime($katalog)] = $zdjecia; staraj sie czytac co ci pisza.... filemtime ma sie odnosic do pliku a nie do katalogu.. Nie rozrozniasz tych dwoch pojec? Do tablicy $zdjecia masz wsadzic $zdjecie a nie znowu tablice $zdjecia... |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Zmodyfikowany kod:
Wyświetla nazwę zdjęcia i czas modyfikacji, jednak zdjęcia wyświetlają się podwójnie lub nawet potrójnie, nie wiem czemu. Kod dalej nie sortuje zdjęć według daty. |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
foreach ($tablica as $filetime => $filename )
{ echo date('F d Y, H:i:s', $filetime) . '.' . $filename . ' <a rel="mlbox[test]" href="'.$katalog.'/'.$zdjecie.'" rel="mlbox" > <img src="'.$katalogminiaturki.'/'.$zdjecie.'" alt="ZdjÍcie: '.$zdjecie.'" /></a>'; } Przeciez w tej petli, zdjecie masz pod $filename a nie $zdjecie.... Nic dziwnego, ze ciagle ci sie wyswietla ostatnio zapamietane zdjecie pod $zdjecie |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie zdjęcia się wyświetlają z datą i nazwą i jest ok. Tylko że wyświetlają sie po dwa-trzy razy.
Z 6 zdjęć wychodzi takie coś: February 05 2015, 18:44:19.0.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 18:44:19.0.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:09:36.1.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:42:47.DSC07122.JPG February 05 2015, 18:09:36.1.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:42:47.DSC07122.JPG February 05 2015, 18:09:36.1.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 19:03:32.krajobraz.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:42:47.DSC07122.JPG February 05 2015, 18:09:36.1.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 19:03:32.krajobraz.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:42:47.DSC07122.JPG February 05 2015, 18:09:36.2.png February 07 2015, 13:43:13.DSC03760.JPG February 05 2015, 19:03:32.krajobraz.JPG February 05 2015, 18:44:19.0.png February 05 2015, 18:42:47.DSC07122.JPG February 05 2015, 18:09:36.2.png Ten post edytował arekko 7.02.2015, 14:48:10 |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
poniewasz sortowanie i wyswietlanie dales w WHILE.... A sortowanie i wyswietlanie ma byc ZA WHILE
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki po zmianie zamknięcia pętli wszytko działa b. dobrze oprócz tego że niektóre zdjęcia nie są wyświetlane ..
z 9 zdjęć na serwerze wyświetliło się tylko 7: January 24 2015, 21:17:23--10913166_909191255792618_1235845444_n.jpg January 24 2015, 21:11:01--10884555_909193862459024_827172990_n.jpg January 24 2015, 21:07:14--10866767_909193779125699_1868183354_n.jpg January 24 2015, 21:05:42--IMG_5569.JPG January 24 2015, 21:03:59--IMG_5532.JPG January 21 2015, 17:07:43--portret.JPG January 21 2015, 17:06:52--5.jpg Ktoś ma jakiś pomysł na to? Kod wygląda tak:
Ten post edytował arekko 7.02.2015, 22:33:08 |
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pewnie czesc zdjec ma te sama date zapisu i sie nadpisuja ci w tablicy
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Więc da się temu zaradzić jakoś? Mam już zdjęcia dodane na serwer.
Co z tym mogę zrobić? Ten post edytował arekko 8.02.2015, 19:46:44 |
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zamiast zdjecia nadpisywac:
$tablica[filemtime( $katalog.'/'.$zdjecie )] = $zdjecie; masz je dopisywac o tak: A pozniej sortowac np. przy pomocy http://php.net/manual/en/function.usort.php |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Gdy zastosuje taki kod:
wychodzi cos takiego: 6--Array 5--Array 4--Array 3--Array 2--Array 1--Array 0--Array Mógłbyś powiedzeić mi dokładnie jak mam to napisać(IMG:style_emoticons/default/questionmark.gif) ? |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W pętli niepotrzebny klucz.
Ścieżka bez katalogu jest w $filename['zdjecie'], czas w $filename['czas'] |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem na coś takiego:
O jaki klucz chodzi? |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Trudno to nazwać poprawą. Wcześniej tablica była budowana poprawnie.
W pętli wyświetlającej zdjęcia powinieneś odnieść do elementów tabicy, które podałem - przecież właśnie z tym fragmentem zgłaszałeś problem... Piąty przykład: http://www.p-programowanie.pl/php/tablice-asocjacyjne/ |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Teraz coś takiego:
Zdjęcia wyglądają na posortowane: 5 --> Array ZdjÍcie: 4 --> Array ZdjÍcie: 1 --> Array ZdjÍcie: 3 --> Array ZdjÍcie: 0 --> Array ZdjÍcie: 2 --> Array ZdjÍcie: 6 --> Array ZdjÍcie: Jednak same obrazki się nie wyświetlają. |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W pętli wyświetlającej zdjęcia powinieneś odnieść do elementów tablicy, które podałem. Podałem Ci: $filename['zdjecie'] $filename['czas'] Ale skoro teraz zmieniłeś nazwę zmiennej to te dwie dane są w $wartosc. Klucz nie jest potrzebny w pętli, podałem Ci przykład, bo pytałeś o jaki klucz chodzi, Ty natomiast przepisałeś ten przykład. |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Tym razem coś takiego jak powyżej. Zdjęcia wyświetają sie według nazwy a nie daty… Pozmieniałem trochę i już się sortują:
Jednak zdjęcia są tak jakby puste, jakby kod nie mógł znaleźć zdjęcia. Już mam: problem leżał tutaj
Wygląda na to że działa, zobaczymy jak w praktyce, dzięki (IMG:style_emoticons/default/smile.gif) Zdjęcia się sortują i wyświetlają ok. Problem jest jednak taki, że jak na serwerze mam jedno zdjęcie z Stycznia 2015 a drugie z Lutego 2015 roku, to nie sortują się one poprawnie.. Jak temu zapobiec, żeby kod uwzględniał pełną datę? sekundy, minuty, godziny, dni, miesiące i lata? Takie coś nie działa: Ten post edytował arekko 10.02.2015, 22:18:06 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ja już nie mam siły Ci tłumaczyć, może znajdzie się ktoś ze stuprocentowym stanem cierpliwości do Ciebie.
Powodzenia! |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie jak mam to napisać?
Zamiast: asort($tablica); Wystarczyło dać: arsort($tablica); Dzięki za pomoc (IMG:style_emoticons/default/smile.gif) Temat można zamknąć. Ten post edytował arekko 11.02.2015, 19:56:40 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 20:21 |