В PHP manual
для base64_encode()
Я видел следующий скрипт для вывода изображения.PHP HTML image output
<?php
$imgfile = "test.gif";
$handle = fopen($filename, "r");
$imgbinary = fread(fopen($imgfile, "r"), filesize($imgfile));
echo '<img src="data:image/gif;base64,' . base64_encode($imgbinary) . '" />';
?>
Но как может вы выводите изображение создается динамически с GD
?
Я попытался это:
$im = imagecreatetruecolor(400, 400);
imagefilledrectangle($im, 0, 0, 200, 200, 0xFF0000);
imagefilledrectangle($im, 200, 0, 400, 200, 0x0000FF);
imagefilledrectangle($im, 0, 200, 200, 400, 0xFFFF00);
imagefilledrectangle($im, 200, 200, 400, 400, 0x00FF00);
echo '<img src="data:image/png;base64,'.base64_encode(imagepng($im)).'" />';
Почему не работает?
Работает в IE, но не Firefox. Как я могу сделать это кросс-браузер?
Вы использовали MSIE? – BalusC
Нет, firefox. Хм, он работает в IE ... –
У вас есть настоятельная необходимость использования данных: URI? Потому что, если вы этого не сделаете, лучше не использовать их. У них очень много недостатков. Например, IE <8 не поддерживает их вообще. –