imagejpeg() wird nicht immer aktualisiert...

Alles, was PHP betrifft, kann hier besprochen werden.

imagejpeg() wird nicht immer aktualisiert...

Postby Atako » 18. April 2008 18:14

Hey!

http://datakeeper.lima-city.de/test.php

Wenn man per Browser aktualisiert, ändert sich jedesmal die Zahl (microtime()), wenn man jedoch auf den Link klickt, welcher dieselbe Seite wieder aufruft, ändert sich das Bild nicht :(
Das ist schlecht, ich benötige diese Funktion für ein Gästebuch und das Bild soll auch immer aktualisiert werden, wenn man auf den Gästebuch-Link klickt.

Warum ist das eigentlich so? Im FireFox zB. tritt der Effekt nicht auf, ansonsten überall (IE6, IE7, Opera..).
Habe auch schon alle nur möglichen meta- tags oder header: -Aufrufe probiert (no-cache usw..). Bringt alles nix.

Wichtig:
Es wird ein Dateiname in einer Funktion erzeugt und dieser dann im img-tag bei src eingefügt ( imagejpeg($image, $filename); ).
Wenn ich aber ohne Dateiname arbeite, also eine extra Datei anlege (zB. image.php) und diese als src verwende, dann tritt das Problem nicht auf.

Was kann ich tun? Womit hat das zu tun?
Danke!
MfG
Atako
 
Posts: 5
Joined: 18. April 2008 10:24

Postby logout » 18. April 2008 18:27

Das liegt vielleicht da dran, weil das "alte" Bild noch im Browser-Cache ist, wenn du auf "Neu laden" vom Browser klickst, sollte das Bild sich erneuern.

Firefox ist da nicht so "faul". Der holt sich stets das neue Bild.
logout
 
Posts: 34
Joined: 01. January 2008 04:13

Postby Atako » 18. April 2008 18:33

Jo, aber wie könnte ich in jedem Browser, unabhängig der Einstellungen, ein Neuladen erzwingen? Wäre doch doof, wenn ich eine Extradatei anlegen müsste und wer weiß ob das zuverlässig ist...

MfG

//EDIT:
Ein zufälliger Dateiname löst das Problem schonmal im IE, aber dem Opera ist das egal...
Atako
 
Posts: 5
Joined: 18. April 2008 10:24

Postby Knight1 » 18. April 2008 19:17

Atako wrote:Jo, aber wie könnte ich in jedem Browser, unabhängig der Einstellungen, ein Neuladen erzwingen? Wäre doch doof, wenn ich eine Extradatei anlegen müsste und wer weiß ob das zuverlässig ist...

MfG

//EDIT:
Ein zufälliger Dateiname löst das Problem schonmal im IE, aber dem Opera ist das egal...


Hi,
in HTML gibt's das hier: http://de.selfhtml.org/html/kopfdaten/meta.htm#laden
Und in PHP das: http://de.php.net/manual/de/function.header.php
Und da einfach Cache-Control: no-cache, must-revalidate in die Funktion eintragen.

Ich weiß aber nicht in wie weit das von den Browsern und Cache-Servern beachtet wird.


Kai aka Knight1
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64

Postby Atako » 19. April 2008 11:48

Danke!
Ich habe es inzwischen schon lösen können.
Ein variabler Dateiname des Bildes kombiniert mit "<meta http-equiv = "cache-control" content = "no-cache">" lädt das Bild nun in jedem der genannten Browser neu, auch wenn man einen Link, welcher zur aktuellen Seite führt, anklickt.

MfG
Atako
 
Posts: 5
Joined: 18. April 2008 10:24


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests