Ich möchte ein per PHP dynamisch generiertes Bild per header('Refresh:...') vom Client automatisch neu laden lassen.
Der entsprechende PHP-Code könnte (stark vereinfacht) zum Beispiel so aussehen:
bild.php:
<?php
$num = $_GET['n'];
$img = imagecreate(100, 100);
$c0 = imagecolorallocate($img, 255, 255, 255);
$c = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, 30, 0, 50, 50, $c, 'myfont.ttf', $num);
header('Cache-Control: no-cache');
header('Pragma: no-cache');
header('Content-Type: image/png');
if ($num > 0) {
header('Refresh:1;url=/bild.php?n=' . ($num - 1));
}
imagepng($img);
Funktioniert soweit auch wunderbar unter den folgenden beiden Bedingungen:
1. Client blockiert Header-Refresh nicht (das Problem will (und kann) ich nicht lösen)
2. das Bild wird direkt aufgerufen (also nicht in einer Seite eingebettet)
Wird das Bild in eine HTML-Datei eingebettet, dann funktioniert das ganze nicht mehr:
test.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Beispiel</title>
</head>
<body>
<img src="/bild.php?n=10" alt="">
</body>
</html>
Hat jemand eine Idee, wie man das Problem anders angehen könnte, oder wie man das Beispiel von oben verändern müsste, damit es auch aus einer HTML-Seite herraus funktioniert? Vieleicht einfach nur ein zusätzlicher Header, der gesendet werden muss?
Bitte keine Lösung per Javascript...das bekomme ich auch selber hin, ist jedoch meine letzte Wahl.
Danke im Vorraus.
--Mav