Autor | Zpráva | ||
---|---|---|---|
kujeba Profil |
#1 · Zasláno: 13. 8. 2010, 16:05:14
Dobrý den,
na webu pracuji s obrázky. Například provádím oříznutí obrázku, ale po provedení akce se mi obrázek stále ukazuje neoříznutý (neboť natáhnutý z cache), přitom na serveru již je aktuální oříznutá verze. Jak zařídit, aby se obrázek nenačítal z vyrovnávací paměti? Diky za rady. |
||
kujeba Profil |
#2 · Zasláno: 13. 8. 2010, 16:28:35
Tak reseni bylo sice tezko dohledatelne, ale nakonec az podezrele jednoduche.
Za volaný obrázek jsem přidal parametr, který se pokaždé mění: $timestamp = time(); echo '<img src="obrazek.jpg?'.$timestamp.'" alt="" />'; |
||
Amunak Profil |
#3 · Zasláno: 13. 8. 2010, 17:50:13
Já jen dodám, že se dá samozřejmě použít i JS, aby to bylo bez reloadu (používám to na znovunačtení obrázku s CAPTCHA), například takto:
function new_captcha() { var img = document.getElementById('captchaimg'); var rand = Math.floor(Math.random()*65535); img.src = 'index.php?action=captcha&img&'+rand; } šance, že se střetnou dvě stejná čísla je při druhém načtení 1:65534, což považuji za dostatečné :) |
||
PostCC Profil |
#4 · Zasláno: 13. 8. 2010, 18:21:57
kujeba:
Pokud obrázek upravujete PHP scriptem, není třeba nijak měnit kódy HTML, do který se vkládá, stačí provést změnu ve výstupu scriptu, který obrázek generuje. Pomocí hlavičky: Header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); nastavíte platnost obsahu do minulosti a prohlížeč si tak při dalším přístupu vyžádá aktuální verzi obsahu. |
||
Časová prodleva: 14 let
|
0