![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem:
Do tej pory dodając zdjęcie np do galerii od razu po uploadzie docinałem miniaturkę. Chciałbym zmienić teraz system na trochę inny. Chodzi o to, żeby miniaturki były tworzone dynamicznie tzn. przy wyświetlaniu 1 strony z galerią ze zdjęć w rozdzielczości około 800x600 generowałbym przeciętnie około 12-16 miniaturek za każdym razem gdy ktoś odświeży stronę. Czy jednak taki sposób nie sprawi że strona generować się będzie zbyt długo ? Ma ktoś doświadczenie w tej kwestii? Mogłby ktoś doradzić odpowiedznie rozwiązania? -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
To zależy od wielkości zdjęć i wydajności serwera, mimo wszystko stanowczo odradzam takiego rozwiązania. Optymistycznie patrząc strona będzie się generować kilka sekund, a przy większej liczbie użytkowników zawalisz cały serwer...
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ale to znaczy że przeprowadzałeś takie testy ? Bo w sumie napisałbym sobie skrypt testujący ale nie mam za dużo czasu :/
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak, na moim serwerze, który nie był aż taki tragiczny, generowanie jednej miniaturki pliku jpeg o rozdzielczości 1024/768 za pomocą gd2 i imagecopyresampled trwało około sekundy. Pomyśl co się stanie, gdy takich miniaturek będziesz chciał 20... wydajnościowo staniesz za naszą-klasą
![]() -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
w takim razie czas na plan 'B'. Dzięki wielkie l0ud
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 14.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Lepiej jest tworzyc automagicznie;] miniaturkę przy dodawaniu zdjęcia.
Ja robie tak, że miniatruki przechowuje w bazie danych a zdjęcia w oddzielnych katalogach.. Przy wywołaniu strony pobierasz miniaturke, i robisz odwołanie do większego zdjęcia.. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 25 Dołączył: 23.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nieco innym pomysłem na to jest stworzenie generowania wraz z cacheowaniem obrazków. Otóż możesz sobie w zdefiniować reguły do ModRewrite:
Załóżmy, że ścieżka do obrazka wygląda nastepująco: ścieżka_gdzie_masz_obrazki/nazwa_obrazka,800x600.jpg 1. sprawdza czy plik istnieje 2. jeśli nie istnieje to sprawdza regułę: ^ścieżka_gdzie_masz_obrazki/([0-9a-zA-z_-]+),800x600.jpg$ generuj_obrazek.php?id_obrazka=$1 [L] Skrypt w pliku generuj_obrazek.php generowałby obrazek, zapisywałby go, a następnie zwracał do przeglądarki jako plik jpg. Przy kolejnym odwołaniu się do takiego obrazka warunek 1 zostałby spełniony. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Kowalikus To naprawdę chyba dobry sposób ale po co do tego używać mod_rewrite ?
![]() @bfcior A czy przechowywanie miniaturki w bazie jest wydajne ? -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.12.2007 Skąd: inąd :) Ostrzeżenie: (0%) ![]() ![]() |
Możesz też użyć gotowej klasy, phpThumb(), znajdziesz ją tu: http://phpthumb.sourceforge.net/
O tyle ją lubię, że phpThumb() po zrobieniu miniaturki cache'uje ją do katalogu i przy kolejnym wywołaniu sprawdza czy już zdjęcie było obrabiane. Chodzi dość szybko i przy odpowiednim skonfigurowaniu z imagemagickiem chodzi naprawdę bardzo wydajnie. Dodatkową zaletą tej klasy jest to, że kompletnie nie obchodzi cię zdjecie samo w sobie, czyli jego rozmiar, czy jest pionowe czy poziome, czy jest gifem czy jpeg-iem a może png-iem. Wszystko ustawiasz sobie w pliku configuracyjnym i śmiga. W html wklejasz tylko <img src=phpThumb.php?src=/katalog/zdjecie.jpg&w=100px&q=80 /> i kuniec :) Możesz sobie ustawiac parametrami cuda wianki, jakość, przycięcie, zoom.... Dokumentacja jest bardzo bogata więc nie powinieneś mieć problemu. Ja napisałem sobie kiedyś własną klase do obróbki zdjęć, ale jakoś polubiłem tę. Polecam. Oczywiście w celach edukacyjnych i doświadczalnych radzę napisać swoją :)) Pozdrawiam -------------------- Eee... no fajny ten debian... :)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:19 |