Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czyszczenie pamięci podręcznej.
Forum PHP.pl > Forum > PHP
poncjusz
Czesc, mam problem, nie wiem nawet czego szukac. Mianowicie zrobilem panel administracyjny w ktorym klient dodaje sobie produktu itd... Wszystko dziala ladnie, tylko jezeli chce edytowac zdjecia i w miejsce starego uploduje nowe ale o tej samej nazwie to mimo uplodowanego na serwer nowego pliku przegladarka czyta i wyswietla zdjecie stare, stad moje pytanie: Czy istnieje moze jakis sposob na wyczyszczenie pamięci podręcznej przeglądarki? Albo jakie powinno być podejście do tego typu problemu?
Bastion
dodaj do naglowka obrazka

  1. <?php
  2. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  3.  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  4.  header("Cache-Control: no-store, no-cache, must-revalidate");
  5.  header("Cache-Control: post-check=0, pre-check=0", false);
  6.  header("Pragma: no-cache");
  7.  header("Content-type: image/jpeg");
  8. ?>


zaleta taka, ze bedziesz mial swieze obrazki - wada taka ze przegladarka nie bedzie w ogole keszować obrazku na dysku

alernatywne rozwiązanie jest generowanie unikatowej nazwy thumba, skladająca się z czasu wygenerowania

np . mając obrazek o nazwie $oryginal="cos.jpg" to generując miniature robisz tak (zakladajac ze thumby zapisujesz jako jpg)

  1. <?php
  2. $image_mtime = filemtime($oryginal);
  3.  
  4. $nazwa_miniatury = md5($oryginal.$image_mtime).'.jpg';
  5. // lub
  6. $nazwa_miniatury = $image_mtime.'-'.$oryginal.'.jpg';
  7.  
  8. if (!file_exists($nazwa_miniatury))
  9. {
  10. generuj_miniature($oryginal, $nazwa_miniatury);
  11. }
  12. ?>


w ten sposob wgrywajac nowy obrazek pod taka sama nazwa "cos.jpg" zmieni ci sie nazwa thumba,
ktora bedzie juz unikatowa w keszu przegladarki - efekt - zostanie przeladowana.
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.