Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] cachowanie obrazka "z lotu", chce zrobić tak, żeby nie odświerzał sie za każdym włączeniem
Zmorcia
post 14.06.2010, 14:25:44
Post #1





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


Witam, mam skrypt:

  1. $typ = substr($_GET['i'], -4);
  2. $watermark = "../../static/logo-gallery.png";
  3.  
  4. if($typ == '.jpg' OR $typ == 'jpeg' OR $typ == '.JPG' OR $typ == '.JPEG' OR $typ == ''){
  5. header('Content-type: image/jpeg');
  6. $orginal=imagecreatefromjpeg($imgdir);
  7. list($org_szer,$org_wys)=getimagesize($imgdir);
  8. $minitaturka=imagecreatetruecolor(SZEROKOSC,WYSOKOSC);
  9. imagecopyresampled($minitaturka,$orginal,0,0,0,0,SZEROKOSC,WYSOKOSC,$org_szer,$org_wys);
  10.  
  11. if($l == 'gallery-big' OR $l == 'gallery-big-photo'){
  12. $image1 = imagecreatefrompng($watermark);
  13.  
  14. $plik_w = imagesx($minitaturka);
  15. $plik_h = imagesy($minitaturka);
  16. $znaczek_w = imagesx( $image1 );
  17. $znaczek_h = imagesy( $image1 );
  18.  
  19. $od_x = $plik_w - $znaczek_w;
  20. $od_y = $plik_h - $znaczek_h;
  21.  
  22. imagecopy( $minitaturka, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h );
  23. }
  24.  
  25. imagejpeg($minitaturka,NULL, 100);
  26. }
  27.  
  28. if($typ =='.gif' OR $typ =='.GIF'){
  29. header('Content-type: image/gif');
  30. $orginal=imagecreatefromgif($imgdir);
  31. list($org_szer,$org_wys)=getimagesize($imgdir);
  32. $minitaturka=imagecreatetruecolor(SZEROKOSC,WYSOKOSC);
  33. imagecopyresampled($minitaturka,$orginal,0,0,0,0,SZEROKOSC,WYSOKOSC,$org_szer,$org_wys);
  34.  
  35. if($l == 'gallery-big' OR $l == 'gallery-big-photo'){
  36. $image1 = imagecreatefrompng($watermark);
  37.  
  38. $plik_w = imagesx($minitaturka);
  39. $plik_h = imagesy($minitaturka);
  40. $znaczek_w = imagesx( $image1 );
  41. $znaczek_h = imagesy( $image1 );
  42.  
  43. $od_x = $plik_w - $znaczek_w;
  44. $od_y = $plik_h - $znaczek_h;
  45.  
  46. imagecopy($minitaturka, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h );
  47. }
  48.  
  49. imagegif($minitaturka,NULL, 100);
  50. }


jest możliwość zrobienia, aby plik nie odświerza sie za każym razem? tylko był stały , chodzi mi żeby zostało "z lotu" ale żeby z każym wywołaniem nie odswierzał sie.


--------------------
POMOGŁEM ? Wciśnij "Pomógł" , dzięki !
Go to the top of the page
+Quote Post
wookieb
post 14.06.2010, 14:32:44
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A nie możesz np zapisać go na serwerze i tworzyć do niego link?
Inaczego to google -> php force cache image


--------------------
Go to the top of the page
+Quote Post
Zmorcia
post 14.06.2010, 14:49:48
Post #3





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


dodałem header
  1. header("Cache-Control: max-age=3600, must-revalidate");
i nadal są odsświerzane...


--------------------
POMOGŁEM ? Wciśnij "Pomógł" , dzięki !
Go to the top of the page
+Quote Post
erix
post 14.06.2010, 15:05:38
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ech, przeczytałeś post ~wookieb? Albo musisz go zapisać w systemie plików, albo sprawdzać nagłówki wysyłane przez przeglądarkę (if-modified-since), potem wystarczy odesłać not modified, a generowanie pominąć.

takie słowa są kluczami, po których znajdziesz rozwiązanie.

PS. Nagłówek, którego teraz użyłeś, WYMUSZA aktualizację niezależnie od cache.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 1.06.2024 - 09:50