Bildausgabe mit Alter

Cusco

Erfahrenes Mitglied
Hi,

ich möchte das beim PHP-Skript welches Bild(er) ausgibt das Bild-Alter mit angeben, damit Suchmaschinen wissen ob sich das Bild geändert hatt oder nicht, was in der Regel nicht der Fall ist. Es geht darum die Chance zu erhöhen das das Bild Indexziert wird.

Code:
$bild = "./error.gif";
$typ = "gif";
$groesse = 0;
$zeit = time();

if($dsatz=mysql_fetch_assoc($res)) {
	$groesse = filesize($dsatz["bilddatei"]);
	if($groesse>0) {
		$bild = $dsatz["bilddatei"]; // Dateiname
		$typ = $dsatz["bildtyp"]; // gif, png, jpeg
		$zeit = $dsatz["tstamp"]; // Als Timestamp
	}
}

$groesse = ($groesse > 0) ? $groesse : filesize($bild);
header("Content-type: image/$typ");
header('Content-disposition: inline; filename="'.str_replace("./","",$bild).'"');
header("Content-length: $groesse");
header('Expires: '.gmdate('D, d M Y H:i:s',$zeit).' GMT');
readfile($bild);
exit;

Das Resultat dieses Scriptes ist das im IE beim Alter trozdem das heutige Datum steht, obwohl Expires den richtigen Wert enthält.
Ist Expires ggf. an der Falschen Stelle gesetzt?
 
Lass dir mal den Timestamp im inneren der If-Bedingung ausgeben und vergleiche ihn mit dem aktuellen.
 
Ich glaube, du verwendest den falschen Response-Header. Versuch es mal mit Last-Modified. Das geht so:

PHP:
header( 'Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT' );
 
Ich glaube, du verwendest den falschen Response-Header. Versuch es mal mit Last-Modified. Das geht so:

Danke jetzt klappt es, der IE gibt zwar immer noch das heutige Datum aus, aber die Datei/Bild wird nur noch 1 Mal pro Besucher geladen statt wie vorher bei jeden Seitenaufruf und GSiteCrawler erkennt auch das richtige Alter von 70 bis 90 Tagen :)
 
Zuletzt bearbeitet:
Zurück