|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
19. 11. 2008. | #1 |
Ivan Dilber
Sir Write-a-Lot
|
naterati browser da uradi image reload
problem je u sledecem, kad se edituje slika u profilu treba naterati browser da refreshuje cache, da se stara slika ne bi pojavljivala vise... naravno lako je dodati neki random GET parametar da bi se ucitala nova slika na toj strani, obicno sam to do sad tako radio, ali ovde je problem sto se slika koristi na celom sajtu, pa ce ostatak sajta i dalje prikazivati staru sliku...Palo mi je napamet da na edit strani saljem drugaciji header, ali to nece raditi jer browser nece ni ucitavati sliku na toj strani jer mu je vec u keshu...
Jel postoji neka strategija da se ovo resi, znaci da nateram browser da ubije cache ? EDIT: Nixa mi je predlozio da menjam svaki put naziv (tj. putanju) slike kad se snima, sto ce mi resiti problem... Ali ajd da ostavim thread, mozda bude jos neka dobra ideja...
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 19. 11. 2008. u 19:22. |
19. 11. 2008. | #2 |
133t
Master
|
$novoIme=$userID.'-'.time().$extenzijaFajla;
tj, nixino reshenje. to bi trebalo da radi ok sve dok je slika na fajl sistemu, ako ti je slika neki blob u bazi.... hmm.. onda probaj da saljes lastModified hedere uz heder o slici ili da opet odradis kao da je na fajlsistemu, a da imas rewrite rule koji uhvati userID, ime se promenilo zbog novog timestampa, on onda izvuce avatar iz baze i ne bi trebalo da bude problema (mada nisam siguran koliko bi to, i da li bi to opteretilo server na high traffic sajtovima) |
19. 11. 2008. | #3 |
Goran Pilipović
Sir Write-a-Lot
|
Mozes da ucitas sliku sa <img src="url_do_slike.jpg?nesto=nesto_razlicito" /> to ce sasvim normalno da prikaze jpg
Edit: izvini, nisam pažljivo pročitao pitanje, mislio sam kako useru da prikažeš da mu je slika promenjena kada uploaduje novu, a tebi u stvari treba da svi ostali takođe vide novu sliku. To možda možeš sa .htaccess <Directory "/path/gde/uploadujes/"> <FilesMatch "\.(jpg|png|gif)$"> Header set Cache-Control "max-age=7200, must-revalidate" </FilesMatch> </Directory>
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! Poslednja izmena od bluesman : 19. 11. 2008. u 21:58. |
19. 11. 2008. | #4 | |
133t
Master
|
evo jednog od komentara ispod php.net/header
Citat:
drugi je problem sto su 90% primera po tutorijalima na netu, a i ponekoj knjizi ovakvi: Kôd:
<?php $length = strlen($imagedata); header('Content-Length: '.$length); header('Content-Type: image/jpeg'); print($imagedata); ?> e sad, ja stvarno nisam testirao da li ce ovakav pristup definitivno naterati recimo IE6 da promeni sliku.. treba probati. |
|
19. 11. 2008. | #5 | |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Ja bih to uradio na nivou Apachea (ako je on uopste u pitanju
Probaj da stavis expire headere za slicice kako treba, na brzinu sam nasao primer: http://www.websiteoptimization.com/speed/tweak/cache/ Citat:
Koliko ja znam, browser bi trebao da osvezi svoj cache nakon tog perioda.
__________________
Năo quero mais seguir um só caminho |
|
19. 11. 2008. | #6 |
Goran Pilipović
Sir Write-a-Lot
|
E, upravo sam ja editovao svoj post sa istim predlogom
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
19. 11. 2008. | #7 |
Ivan Dilber
Sir Write-a-Lot
|
@blues: znam za to, spomenuh da sam obicno koristio GET kao resenje, ali to je resenje za tu stranu, a na nekoj drugoj strani ce i dalje da se vuce stara slika, jer slika.jpg i slika.jpg?nesto nisu isto u keshu.
@kodi: slike se naravo ne salju iz php, nego kao staticki fajlovi, ali cak i kad bih koristio php za to, opet postoji problem sto browser nece ni probati da ucitava tu sliku, jer su headeri namesteni za sve slike da se naravno kesiraju. Pa se ni skript nece pozvati odnosno novi header nece biti poslat. Elem, ova fora da svaki put dodam random element u putanju kad je snimam u bazu radi skroz ok, za sad najednostavnije resenje. Nije nixa za bacanje EDIT: e sad moram i ja da editujem post, bre Daklem, ok vam je ideja, ali onda mi se slike nece kesirati (to jest na kratko), a ne edituju se toliko cesto da bi se to isplatilo.
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 19. 11. 2008. u 22:10. |
19. 11. 2008. | #8 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Pa mozes implementirati taj expire header samo za slike na "after edit" strani - jer ce browser nakon toga osveziti i svoj cache (setuj expire na 0).
__________________
Năo quero mais seguir um só caminho |
20. 11. 2008. | #9 |
Ivan Dilber
Sir Write-a-Lot
|
hmm, moguce da ja nesto ne kapiram dobro, ali mislim da nece... jer da bi osvezio cache settings preko headera on mora da ucita taj fajl, a on ga nece ucitati jer vec ima tu sliku u keshu (ukoliko se naziv slike ne menja)..
__________________
Leadership is the art of getting people to want to do what you know must be done. |
20. 11. 2008. | #10 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Mislim da gresis, mada mozda i ja nisam bio precizan, pogledaj ovo:
http://betterexplained.com/articles/...-http-caching/ Tu je objasnjeno u kojim slucajevima browser kesira, u zavisnosti od headera za trazeni fajl. Edit: mozda expiry header nije dobro resenje, mogao bi da probas sa eTag ili Last Modified. Ako te ne mrzi da se bakces sa tim
__________________
Năo quero mais seguir um só caminho Poslednja izmena od MorenoArdohain : 20. 11. 2008. u 02:46. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Kreiranje forme za reload-om | ljtruba | Sva početnička pitanja | 10 | 25. 03. 2010. 15:11 |
pretrazivaci, index reload | Ivan | Marketing i SEO | 0 | 29. 06. 2008. 14:06 |
kako naterati Boot-ove da mi ne indeksiraju sajt | buksula | Marketing i SEO | 2 | 28. 10. 2007. 16:04 |