Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] cachowanie obrazka "z lotu"
Forum PHP.pl > Forum > Przedszkole
Zmorcia
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.
wookieb
A nie możesz np zapisać go na serwerze i tworzyć do niego link?
Inaczego to google -> php force cache image
Zmorcia
dodałem header
  1. header("Cache-Control: max-age=3600, must-revalidate");
i nadal są odsświerzane...
erix
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.