Toon posts:

[php]Browser cache probleem

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een c.m.s. geschreven waarbij ook images aan de artikelen toegevoegd kunnen worden.
De tekst van het artikel wordt in een database opgeslagen, en de images worden in een map geupload met als naam het id van het bij behorende record uit de database.

Wanneer ik nu dus het eerste artikel toevoeg, dan gaat de image 1.jpg heten. bij het 2e artkel 2.jpg enz.

In het c.m.s is het ook mogelijk om artikelen te wijzigen, en om ook het plaatje bij een artikel te kunnen veranderen. Het probleem is nu dus dat het nieuwe plaatje DEZELFDE naam krijgt als het oude plaatje (wordt overschreven), en dat je in je browser dan nog steeds het oude plaatje te zien krijgt (of je moet een refresh geven, maar dat wil ik dus niet). Hetzelfde probleem doet zich ook voor wanneer ik een artikel toevoeg (met plaatje) en dan opnieuw een artikel toevoeg (met plaatje). Bij het nieuwe artikel zie ik dan dus weer het plaatje dat bij het oude artikel hoorde.

Wat ik dus wil is dat het plaatje niet gecashed wordt.
Weet iemand hier mischien een oplossing voor?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik neem aan dat je cache bedoelt ipv cash? :P

topictitel bijgewerkt.

Verwijderd

Topicstarter
whehehe idd :-)
tiz nog vroeg zullen we maar zeggen :-P

Verwijderd

Topicstarter
Ik heb inmiddels al een stukje code gevonden:
code:
1
2
3
4
5
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0

Maar dit werkt dus NIET :-(
Iemand enig idd waar dat aan ligt?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 28-08 19:27

Crazy D

I think we should take a look.

Uh je moet de code dan nog wel in je eigen code plakken :P

Die headers zijn op zich goed, gebruik ik ook regelmatig en heb d'r nooit problemen mee.

Exact expert nodig?


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 28-08 19:27

Crazy D

I think we should take a look.

Check je rechten eens op die dir. Ik heb het probleem ook een keer gehad, plaatje uploaden ging wel, maar overschrijven mocht niet, dus je bleef tot in lengte van dagen dat oude plaatje houden....

Exact expert nodig?


Verwijderd

Topicstarter
dat stuk code (header ..............) moet dat in de body of in de head van de html file staan?. Want dan krijg ik de fout melding "headers already send cannot add more header information". Zet ik hem HELEMAAL boven in mijn file (dus buiten de HTML code boven <head> tags) dan krijg ik geen foutmelding, maar werkt het nog niet :-(

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 04-08 13:06

GraasGast

Analogue Heaven

die header() dingen zijn php functies, die moet je dus bovenin in je php file zetten.

Verwijderd

Het zijn http 'headers'.
Da's niet hetzelfde als datgene wat je tussen <head> en </head> van je html zet.

Gebruik iets van Samspade, doe 'Browse web' en haal die URL op. Dan zie je de headers waar het nu over gaat.

Dit:
code:
1
2
3
4
5
<?php
header ("Cache-Control: no-store, no-cache, must-revalidate");
header ("Expires: Sun, 1 Jan 1990 12:00:00 GMT");
header ("Pragma: no-cache");
?>

werkt bij mij prima.

Verwijderd

Topicstarter
Bij mij dus niet :-(

maar heb al een andere oplossing. Achter de URL waar ik de imgage aanroep zet ik een timestamp (1.jpg?1000322 bijvoorbeeld). Je krijgt nu gewoon het plaatje tezien, maar de browser ziet het toch als een ander plaatje.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 28-08 19:27

Crazy D

I think we should take a look.

En als je dat plaatje met je ftp client ff download? Krijg je dan wel de nieuwe of is dat ook de oude?

Exact expert nodig?


  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 28-08 16:51
Zit je misschien achter een proxy server? Die willen nog wel eens zeer hardnekkige cache instellingen hebben.

Team ColdFusion


Verwijderd

Topicstarter
Ik zit inderdaad achter een proxy server ja.
Maar timestamp oplossing werkt dus perfect :-)

probleem opgelost dus :-)
Pagina: 1