PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neu laden einer Datei erzwingen


Stratman
06.12.2006, 11:18:26
Hallo zusammen,

folgende Problematik treibt mich derzeit zur Verzweiflung:

Wir haben ein PDF Dokument auf einem Server, welches mehrmals am Tag aktualisiert wird. Das Dokument wird per Hyperlink von einer PHP/HTML-Datei aufgerufen.

Das Dokument wird über ein Batch-Skript regelmäßig vom Server gelöscht und neu hochgeladen.

Hat man das Dokument allerdings bereits an diesem Tag anzeigen lassen, sieht man beim nächsten Aufruf nicht die aktualisierte Version. Erst nach ca. 12 Stunden.
Das geht sogar soweit, dass der IE die letzte Datei mit dem Adobe Reader immer noch öffnet, obwohl ich sie vorher vom Server testweise gelöscht habe.

Wie kann man diese Caching-Einstellungen verändern? Man muss doch irgendwie erzwingen können, dass eine Datei beim Aufruf neu geladen wird oder?

Habe schon sämtliches versucht, IE-Einstellungen, in der HTML-Datei, von der das Dokument aufgerufen wird habe ich:

echo "<META HTTP-EQUIV='Cache-Control' content='post-check=0'>";
echo "<META HTTP-EQUIV='Cache-Control' content='pre-check=0'>";

eingefügt, ohne Erfolg...

Wer weiß rat?

Vielen Dank im Voraus und
Grüße,
Marco

Damir
06.12.2006, 11:28:06
Naja, am effektivsten um dieses Problem zu umgehen ist, dass du bei jerder Aktualisierung den Dateinamen änderst (am besten ein Timestamp als Dateiname). Oftmals ist ja eine Aktualisierung abhängig von der Usereinstellung im Browser, so umgehst du diese aber...

Damir

BenniG.
06.12.2006, 11:38:15
Du kannst auch sowas machen:

<a href="pdfdatei.pdf?time=<?php echo time()?>">Link</a>

Somit denkt der Browser es handelt sich um eine dynamische Seite und wird die aufgrund des ständig wechselnden time-werts nicht aus dem cache holen.

Stratman
06.12.2006, 12:18:58
Hi ihr beiden, danke für eure Tips!

Benni, habe deinen Vorschlag gerade umgesetzt. Werde noch einige Tests durchführen, bis jetzt schaut das sehr gut aus!!!

Grüße Marco

Stratman
06.12.2006, 14:10:31
Es funktioniert einwandfrei!! Ich danke euch!!!