"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

cashen von pic verhindern

kleinerChemiker 18.12.2002 - 22:58 1011 23
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Code:
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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Ist das Pic dann nicht trotzdem im cache gespeichert ?
Wenn nein ... warum nicht ?

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
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
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
Code: PHP
<?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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
probiers mit:
Code:
$im = @ImageCreateFromJPEG ($imgname);
imagejpeg ($im);
geht aba nur mit gd v1.8+ ;)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
auf diese weise gehts, doch ist ein qualitätsverlust zu bemerken

pic ohne skript:
http://scifi.pages.at/kleinerchemik...esel_status.jpg

pic mit skript:
http://scifi.pages.at/kleinerchemik...esel_status.php

müßte ich damit leben, oder hat noch jemand eine idee?

MIK

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
kannst es auch als png ausgeben ;)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
thx
nun merk ich keinen unterschied mehr. sonst jemand?

MIK

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
ähm, woher kommt eigentlich das erste bild?

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von kleinerChemiker
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 ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz