Aktuellhalten von Webseiten...

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/aktuellhalten_von_webseiten_35327/page_1 - zur Vollversion wechseln!


jb schrieb am 25.05.2002 um 00:59

Hab mal wieder einen kleinen Kampf mit HTML/PHP/MySQL

Eine Webseite wird dynamisch generiert (Übergabe einer ID mit PHP) und liest eine Datenbank aus, in der auch ein Dateiname von einem Photo drinnensteht. Auf der aufgerufenen Seite wird ein wenig Text (ebenfalls aus der Datenbank) und eben auch das Bild. Wenn man auf das Bild klickt kommt man auf das selbe Bild nur mit höherer Auflösung und genauso wieder zurück zum Vorschaubild. Beide Ansichten haben das selbe Problem weil sie ja vom selben PHP Script generiert werden (nur mit anderen Parametern eben)

Ein Problem krieg ich jetzt wenn ich ein anderes Bild nehmen will, dann kommt natürlich mal das alte, weils ja überall zwischengespeichert wird.
Mein erster Versuch waren Metatags, die das Cachen verhindern sollten, leider ohne Erfolg :(
Als nächstes hab ich ein automatisches Reload (auch mit Metatag) eingebaut, das die aufgerufene Seite nach 1s einmal aktualisiert.
Leider ist auch dieser Versuch gescheitert, das Ergebnis ist das das alte Bild angezeigt wird, nach 1s dann Reload und das neue Bild is da.
Hab gerade noch versucht den Reload-Wert auf 0 zu setzen, leider auch ohne Erfolg.

Hat wer vielleicht eine Idee, wie man das lösen könnte so daß nur noch das wirklich aktuelle Bild angezeigt wird? 56k Modem User würdens mir danken, das Vorschaubild is zwar nur je ca. 10-20k, dafür das höher aufgelöste so um die 100-150k. Außerdem schauts blöd aus wenn er plötzlich ein anderes Bild reinladet...

WO sind die CODER :D


schrieb am 25.05.2002 um 01:20

Zitat von jb
Zitat von defe
eher mutter die auf ihre jungs aufpasst :eek: ;)

Coder ist da ... Wo sind die 200€/h Consulting-Gebühr ? :p

Wennst auf die non-cache-headers nicht vertraust, bau einen timestamp in die url ein ... entweder uploadzeit des bildes, oder die aktuelle zeit =time();

also ... "bild.php?id=$id&timestamp=$zeitdesbildes"....

vorteil dieser Lösung ist, dass du immer ein aktuelles bild hast, ohne auf caching verzichten zu müssen ;)


Vir@s schrieb am 25.05.2002 um 05:19

Zitat von .deRElict.
Coder ist da ... Wo sind die 200€/h Consulting-Gebühr ? :p

Wennst auf die non-cache-headers nicht vertraust, bau einen timestamp in die url ein ... entweder uploadzeit des bildes, oder die aktuelle zeit =time();

also ... "bild.php?id=$id&timestamp=$zeitdesbildes"....

vorteil dieser Lösung ist, dass du immer ein aktuelles bild hast, ohne auf caching verzichten zu müssen ;)

Jep - sobald du einen sich ändernden Parameter im Aufruf hast wird alles immer automatisch reloaded :)

Also wie deRelict gsagt hat, einfach nur timestamp oder ähnliches!

Wie der Parameter heißt ist übrigens egal :)

Mfg, Vir@s


noledge schrieb am 25.05.2002 um 07:30

sollts nicht genügen, einen filename über die header-funktion zu setzen? 2 unterschiedliche filenames tauscht er ned aus, zumindest ned bei mir ;)


Ringding schrieb am 25.05.2002 um 10:26

Bitte wie stellen die Leute ihre Browser ein? Jeder normale Browser checkt auf der Standardeinstellung, ob sich die Seite geändert hat (mittels If-Modified-Since Header). Und wenn die Seite dynamisch ist, dann hat sie sich aus der Sicht des Servers geändert und wird neu geschickt. Also was ist daran so kompliziert?


schrieb am 25.05.2002 um 10:59

mozilla schickt ihn bei bildern erst bei einem expliziten reload.
ie ebenfalls :rolleyes:


Ringding schrieb am 25.05.2002 um 11:02

Aber die Bilder ändern sich ja gar nicht. Das Bild soll ja gar nicht neu geladen werden. Es soll nur das richtige genommen werden.

Außerdem stimmt das nicht :P


schrieb am 25.05.2002 um 11:11

das bild ändert sich, aber der uri nicht.

natürlich stimmts - oder willst behaupten meine logfiles lügen :eek:


Ringding schrieb am 25.05.2002 um 11:18

Zitat
das bild ändert sich, aber der uri nicht.

Lies nochmal im obersten Post nach. Das Bild ändert sich nicht, nur die URL. Ist sonst ein ganz normales statisches IMG.

Zitat
natürlich stimmts - oder willst behaupten meine logfiles lügen :eek:

Vielleicht hast du sogar recht. Muss ich mir jetzt auch mal im Logfile anschauen :)


schrieb am 25.05.2002 um 11:24

also so wie ich den post verstanden hat, hatta a php-script das ein image generiert (für verschiedenene größen).
da ist der URI derselbe, aber das bild maybe nicht :eek:

ein timestamp wie oben beschrieben löst das problem auf jeden fall ;)


Ringding schrieb am 25.05.2002 um 11:25

Also bei mir lädt der IE jedes einzelne Bild nach (mit If-Modified-Since, kriegt daher also meistens 304 zurück und muss es nicht komplett nachladen). Cache Setting ist auf Automatically (default).


Ringding schrieb am 25.05.2002 um 11:28

Zitat von .deRElict.
ein timestamp wie oben beschrieben löst das problem auf jeden fall ;)

Der löst vielleicht das Problem, dass kein falsches Bild kommt, aber wenn es sich nicht geändert hat, soll's ja eben nicht neu geladen werden, wie der jb im ersten Post geschrieben hat. Die Bilder werden nicht generiert, die sind einfach nur als Files da.


schrieb am 25.05.2002 um 11:29

drum nimmtma als timestamp die uploadzeit des pics ;)


Ringding schrieb am 25.05.2002 um 11:37

Naja, na gut, wenn man im Script für's img den Last-Modified-Header setzt, dann sollte es so auch gehen. Aber es ist in diesem Zusammenhang sinnlos, weil die Pics eh statisch sind.

Hab grad ausprobiert, was der Mozilla macht: Wenn ein File ein Last-Modified hat, dann lädt er's auf der Standardeinstellung ("when page is out of date") überhaupt nicht nach. Das könnte Kopfzerbrechen bereiten. Ohne Last-Modified wird's aber auf jeden Fall immer mit If-Modified-Since gecheckt. Aber einen Unterschied zwischen Bildern und Text gibt's nicht, weder bei IE noch bei Mozilla. Zum Glück, das wär ja noch schöner :)


jb schrieb am 25.05.2002 um 13:06

Irgendwas habt ihr falsch verstanden, das Script generiert kein Bild, die beiden Bilder (ein kleines zur Vorschau und ein großes mit höherer Auflösung) gibt es schon. Die Bilder heißen z.B. bild1a.jpg und bild1.jpg, wobei das mit dem a das kleine Vorschaubild is.

Timestamp vom Bild einbaun? Da check ich den Sinn nicht ganz werd aber weiter versuchen das irgendwie hinzubekommen. :rolleyes:


Hmm grad draufgekommen wie es genau gemeint is, versuchs mal, danke!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025