Jeg har en side hvor der ligger en filupload funktion. Efter at filen (et billede) er uploadet henter siden sig selv, og billedet på siden skulle nu gerne ændre sig til det som er uploadet. Problemet er at filnavnet på den uploadede fil altid er den samme og derfor bliver billedet ikke opdateret automatisk når siden hentes igen, da den bruger det gamle billede som er cachet. Kan i hjælpe?
I PHP kan du skrive disse headers i de dokumenter, du ikke vil have cached:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
Et andet trick er at give billedet en unik query-streng. Så tror browseren, det er et nyt billede. I PHP kunne det se sådan ud: <img src="/sti/tilPic.jpg?u=<?=time()?>">
- samme idé i VBS: <img src="/sti/tilPic.jpg?u=<%=Round(Rnd() * 1000000) & Time()%>">
Det øverste eksempel virker ikke. Har set det andre steder men har ikke haft held med at få det til at virke. Heller ikke dit eksempel desværre. Det nederste har jeg også set lavet, men det kræver at filnavnet gemmes i databasen, og det ville jeg helst undgå. Derfor omdøber jeg navnet på filen når den bliver uploadet på serveren så det altid er det samme. Æv, hvorfor er det så svært at få hele siden hentet igen :o( Det burde da være simpelt.
Jeg trækker den sidste kommentar tilbage og undskylder mange gange. Havde ikke sat mig godt nok ind i den unikke query-string. Det virker jo eminent. Det er 30 point klar til dig
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.