Witam!
Mam pewien problem, mianowicie na stronie którą się opiekuje została stworzona galeria do której umieszczam zdjęcia. Niestety wada jest taka ,że zdjęć jest sporo ,a miniaturki wczytują się wszystkie na raz co powoduje to ,że przeglądanie ich jest strasznie powolne. Wpadłem więc na pomysł ,że schowam wszystkie zdjęcia i napiszę skrypt który będzie je otwierał po kliknięciu na tytuł kategorii miniaturki zdjęć (i będą się wczytywać tylko te widoczne ,a nie wszystkie na raz). Niestety to nie działa ponieważ chodź reszty zdjęć nie widać to i tak wczytują się wszystkie na raz (zobaczycie to wchodząc na stronę ,link poniżej). Bardzo prosił bym o pomoc w usprawnieniu tego. Sposób może być obojętny byle zdjęcia wczytywały się szybciej. Zamieszczę w linku poniżej kod przez który galeria jest stworzona. Z góry dzięki za pomoc!
Link do galerii : http://przedszkolekropelka2.pl/galeria
Link do kodu : http://www.wklej.org/id/1422522/
Zacznijmy od tego, że nie wczytują się miniaturki, tylko od razu pełnowymiarowe zdjęcia.
Proponowałbym zacząć od naprawienia tego problemu.
@Tillig -> Jak to ? wczytują się najpierw miniaturki ,a dopiero po kliknięciu na nie pełne zdjęcia (jeżeli u Cb to nie działa to znaczy ,że musisz troszeczkę poczekać gdyż wszystko tak wolno się ładuje ,że nie nadąża się uruchomić) ;)
Chodzi o to, że obrazek, który masz wpisany w atrybucie "src" jest wczytywany od razu w całości - jeśli ma 500 kb, to tyle zostanie zaciągnięte, nawet jeżeli stylami zmniejszysz jego rozmiar. Profesjonalnie to się robi tak, że masz 2 grafiki - miniaturę w mniejszej rozdzielczości, która zajmuje np. 30kb, a dopiero po kliknięciu doładowujesz właściwy obrazek.
Nie wiem jak u Ciebie, ale ja u siebie potrafię rozpoznać ładowanie się miniatur oraz ładowanie pełnowymiarowych zdjęć.
1. Zdjęcie miniatury ładuje się niemal natychmiast przez mała wagę pliku (kila/kilkanaście max. KB). Zdjęcia na Twojej stronie ładują się etapami, czyli zdjęcie ładuje się od góry do dołu przez kilka/kilkanaście sekund.
2. Gdy najedziesz na zdjęcie i klikniesz PPM na "Pokaż zdjęcie", powinna pokazać się miniatura - pokazuje się pełnowymiarowy obraz.
3. Wejdź w źródło swojej strony:
Masz takie coś (jako przykład): <a href="/teatrzykraj/DSC01135.JPG" rel="gallery_2"><img alt="" src="/gallery/teatrzykraj/DSC01135.JPG"></a>
Rozumiem, że: <img alt="" src="/gallery/teatrzykraj/DSC01135.JPG">, powinien być miniaturą, ale plik waży 274 KB.
Myślisz, że to odpowiednia waga dla miniatury? Teraz wyobraź sobie, że na stronie masz 100 zdjęć.
274 KB x100? Prawie 30 MB.
Dzięki wielkie za wytłumaczenie w czym leży błąd. Dodam ,że galerię tworzyła "profesjonalna firma" za nie małe pieniądze. Czy mógł by ktoś z was pokrótce wyjaśnić gdzie wrzucić taką miniaturę i jak to zmienić ?
Musi Ci mulić obecnie, bo po wejściu na stronę ściąga się na dysk ponad 1600 elementów o łącznej wielkości kilkudziesięciu megabajtów.
Kilka osób online jednocześnie i zajedziesz całe łącze.
Jak wyżej miniaturki obowiązkowo i dodatkowo dałbym ajaksem ich otwieranie (i w konsekwencji ściąganie) dopiero jak ktoś kliknie w dane wydarzenie.
Miniatury tworzysz czymkolwiek, choćby i darmowym IrfanView. Obsługuje konwersję wsadową, więc pójdzie to wszystko automatem.
A potem już tylko dodanie całości do kodu strony.
Niestety ja nie będę potrafił pomóc co do kwestii zamontowania miniatur, bo trzeba byłoby się wgłębić w kod PHP tej strony.
Ja bym złożył reklamację w tej firmie (adres w stopce) i wymusił na nich poprawienie tego błędu.
Naprawdę aż przykro czytać, że ktoś za tą stronę wziął niemałe pieniądze.
Po przejrzeniu źródła strony stwierdzam, że jest średnio zoptymalizowana.
Nie myślałeś może o wykorzystaniu darmowego CMS, np. Joomla?
Ok rozumiem dzięki ! miniaturki sobie zrobię na spokojnie ,ale co potem ? rozumiem ,że stworzę sobie na serwerze folder w którym je umieszczę. Potrzebował bym jedynie pomocy w przekształceniu kodu ,lub chociaż jakiejś wskazówki.
@Tillig -> teraz ,gdy strona już stoi raczej nie chcę tworzyć nic nowego. Po za galerią wszystko śmiga okej. Chyba ,że jest szansa na stworzenie nowej ,jakiejś gotowej galerii lub coś w tym stylu ?
Z doświadczenia wydaje mi się, że szybciej będzie użyć nowego, gotowego szablonu z kodem PHP do galerii.
Darmowych kodów jest dziesiątki na necie: google -> "kod php do galerii".
Na modyfikację tego co jest teraz, możliwe, że trzeba będzie poświęcić za dużo czasu.
Warto jest wstawić kod, który automatycznie będzie tworzył miniatury w docelowym katalogu.
Tworzenie je ręcznie za każdym razem, gdy ktoś doda zdjęcie dla mnie jest bez sensowne.
Możesz spróbować tego: http://blog.piotrnalepa.pl/2010/01/16/phpmysqlajax-galeria-zdjec-ze-zmieniajacymi-sie-zdjeciami-upload-zdjec-na-serwer/
Opisane jest wszystko dokładnie jak to zrobić.
Problemem może być bezpieczeństwo tego kodu. Ma on już 4 lata i może mieć jakieś luki w bezpieczeństwie.
Zasugerowałem Ci jakiegoś darmowego CMS, bo zapewnia on na bieżąco wszelkie aktualizacje, co według mnie jest bardzo ważne. Do tego masz pełne wsparcie oraz mnóstwo darmowych dodatków, m.in. moduły galerii.
Ja na Joomla siedzę już od paru ładnych lat. Taką stronę jak ta, można zrobić w kilka godzin.
Ok dzięki pobawię się może uda się to jakoś fajnie zmodyfikować :) przynajmniej teraz wiem w czym problem