Hi,
Sorry, da habe ich mich wohl unklar ausgedrückt. Dass es ein HTTP-Aufruf ist, ist klar - aber wieso ein "externer"?
wie die anderen gesagt haben, weils der Browser anfordert. Du könntest das Bild aber über php ausliefern, und nur den Referer Deiner Seite freischalten. Sieht etwa so aus:
$imgsrc = $_SERVER["PATH_INFO"];
if (preg_match ("#..#", $imgsrc)) { // keine uerlaubten Zeichen, hier ".."
$imgsrc = false;
}
// regex für freizuschaltende referers
elseif (!preg_match ("#(DEINEDOMAIN|DEINEANDEREDOMAIN|google)#i", $_SERVER["HTTP_REFERER"])) {
$imgsrc = false;
}
if ($imgsrc) {
$imgsrc = $_SERVER["DOCUMENT_ROOT"] . "/DEIN_DIR/" . $imgsrc;
$content_type = "image/jpeg";
} else {
$imgsrc = $_SERVER["DOCUMENT_ROOT"] . "/DEIN_DIR/unfein.png";
$content_type = "image/png";
}
header("Content-Type: " . $content_type);
header("Content-Length: " . filesize ($imgsrc));
$cache = fopen($imgsrc, "rb");
fpassthru($cache);
exit;
Zum anzeigen des Bildes dann: .../img.php/DEINBILD.jpg
Gruesse, Joachim
Am Ende wird alles gut.