webdesign / development + awesome
archivovaný archívny archív
Ak vaša stránka podporuje (vlastnú implementáciu) ikoniek/avatarov je možné, že ste sa stretli s týmto - po uploade nového obrázku sa stále zobrazuje obrázok starý. Ak sa nový zobrazí po refreshi, samotný upload funguje. Obrázok sa však musí zobraziť hneď, nemôžte od ľudí očakávať zbytočný refresh, navyše je to confusing.
Problém je, že obrázku zrejme zostal rovnaký názov súboru, na čo si prehliadač povie "Heeej, toto som už raz sťahoval! To aby som to radšej vytiahol z cache! Mwahahahaa..", podhodí starú verziu a cíti sa múdro.
Jednoduchý spôsob ako ho oklamať je pridať na koniec názvu náhodne vygenerovaný reťazec znakov. Napr.:
<?php $randstr = base_convert(crc32(mt_rand()), 10, 36); $nazov = "$subor-$randstr.jpg"; ?>
Riešení je kopa, dobré je začať s náhodným číslom (alebo použiť uniqid(), čo vygeneruje reťazec na základe aktuálneho času v mikrosekundách), prehnať to cez nejakú tú hashovaciu funkciu (md5(), sha1()) a na koniec z toho vystrihnúť zopár znakov.
Takže - pridajte niekoľko náhodných znakov do názvu súboru a prinútite browser vyhnúť sa cache pamäti. *lusk*
Archivovaný archív je bez komentárov. Radšej.
5 komentárov
komentuj ku každému komentáru sa v databáze ukladá iba meno, text a dátum, iba za účelom zobrazenia pod článkomneukladá sa email, IP adresa ani informácie o prehliadači a údaje sa nepoužívajú na reklamu, newsletter, na žiadnu ekonomickú aktivitu, nikam sa neposielajú, sú v databáze len aby sa mohli zobraziť pod článkom