kleinerChemiker
Here to stay
|
ist es möglich mittels php das cashen von einem bild zu verhindern? dachte eventuell an ein script das headers ausgibt, die cashen unterbinden und dann das bild. aber geht das bei einem bild überhaupt? falls ja, wie müßten die headers aussehen? hab leider da keine ahnung davon.
thx
MIK
|
watchout
Legendundead
|
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum der
Vergangenheit
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");
// immer geändert
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
hth ps: is php muss wie alle header-sachen vor jeglicher ausgabe ausgeführt werden
Bearbeitet von watchout am 18.12.2002, 23:27
|
atrox
in fairy dust... I trust!
|
wenn du ein bild ausgeben willst, mußt du noch mit einem header("Content-type: image/jpeg"); (bzw image/gif, usw...) den typ angeben, und kannst mit include("pfad/zur/datei.jpg"); das bild ausgeben lassen.
die "billige" variante, währe ein random/dummy-parameter im <img> tag. zb: <IMG SRC="somepic.jpg?dummy=4578956763"> wobei die nummer entweder ein milisekunden-zähler, eine jedes mal neu generierte random-nummer oder ähnliches ist.
|
Vivo
Dreamworker
|
Ist das Pic dann nicht trotzdem im cache gespeichert ? Wenn nein ... warum nicht ?
|
kleinerChemiker
Here to stay
|
thx für die antworten. die möglichkeit eines dummy paramaters besteht leider nicht, da ich das pic in foren in di sig einbinden will.
MIK
|
kleinerChemiker
Here to stay
|
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum der Vergangenheit
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT"); // immer geändert
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
header("Content-type: image/jpeg");
include("esel_status.jpg");
?>
so sieht das skript nun aus. das jpg liegt im selben verzeichnis wie das skript. jedoch zeigt er leider kein bild an. so als wenn include nicht funzen würde. kann man ein bild auch includen? thx MIK
|
watchout
Legendundead
|
probiers mit: $im = @ImageCreateFromJPEG ($imgname);
imagejpeg ($im);
geht aba nur mit gd v1.8+
|
kleinerChemiker
Here to stay
|
|
watchout
Legendundead
|
kannst es auch als png ausgeben
|
kleinerChemiker
Here to stay
|
thx nun merk ich keinen unterschied mehr. sonst jemand?
MIK
|
watchout
Legendundead
|
ähm, woher kommt eigentlich das erste bild?
|
kleinerChemiker
Here to stay
|
wie meinst du woher es kommt? das ist das original, das der leider browser cashed. da es aber alle 2min aktualisiert wird, wird meist ein altes bild angezeigt.
MIK
|
watchout
Legendundead
|
ich mein', wo wird es generiert - macht das auch ein script von dir - bzw. ein script, dass du laufen hast und du darauf zugriff hast, weil wenn ja solltest du es 1. gleich in png generieren - dann isses ca halb so gross 2. gleich ins erste script die headers einbaun - sowie eine kleine abfrage, die automatisch ein zwischengespeichertes bild lädt, wenn sich eh nix daran geändert hat - was wieder locker mal durchschnittlich 30% der ausführungszeit spart
|
kleinerChemiker
Here to stay
|
ach so erzeugt wird es bei mir daheim und dann kmittels ftp hochgeladen. die möglichkeit es als png zu erschaffen hab ich leider nicht. aber die idee mit zwischengespeicherten bild ist nicht schlecht. wobei ich nciht glaube, daß auf das bild soo oft zugegriffen wird. aber werd mal einen counter integrieren, dann seh ichs ja *g*
MIK
|
watchout
Legendundead
|
ach so erzeugt wird es bei mir daheim und dann kmittels ftp hochgeladen. die möglichkeit es als png zu erschaffen hab ich leider nicht. aber die idee mit zwischengespeicherten bild ist nicht schlecht. wobei ich nciht glaube, daß auf das bild soo oft zugegriffen wird. aber werd mal einen counter integrieren, dann seh ichs ja *g*
MIK naja, wenn du es so machst wie bis jetzt is es ja schon zwischengespeichert wodurch das entfällt - vielleicht findest du eine lösung, das ganze komplett auf den server zu verlegen? zb, kontinuierlicher aufruf einer kleinen php-seite, mit so einer oder ähnlicher adresse: state.php?ul=9&dl=12&queue=1900&port=4242&ver=eMule%20V0.24a wobei die werte halt immer angepasst werden (ich weiss ja net wie du das derzeit machst...) den rest der daten kannst automatisch im php generieren per gd, zb könntest du die daten zb in eine db schreiben - oder gleich ein png generieren, das dann von der anderen funktion wieder ausgegeben werden kann... wieauchimmer: der komischen rand vom bild könntest durch eine simple einfache linie ersetzt werden (zb. grau - musst ein bissal testen) - schaut sicher edler aus
|