Исходный код «ie-data-url-2.phps», приложенный к заметке.
Исходный код
<?
bolk_data_uri_header();
echo '<p>Тест поддержки графики mhtml (для IE) и data URL (для остальных браузеров)</p>';
bolk_data_uri('file.gif');
//bolk_data_uri('ourpng.png', 'border: 2px dotted red');
function bolk_data_uri_header()
{
echo "<!--\n"
."Content-Type: multipart/related; boundary=\"=_NextPart_01C6A9B1.539AB070\"\n\n"
."-->\n\n";
}
function bolk_data_uri($file, $style = '')
{
if (!( file_exists($file) && ($data = @getimagesize($file)) )) return false;
$name = md5($file);
if ($style <> '') $style = ' style="'.htmlspecialchars($style).'"';
echo "<!--\n"
."--=_NextPart_01C6A9B1.539AB070\n"
."Content-Location: {$name}\n"
."Content-Transfer-Encoding: base64\n"
."Content-Type: {$data['mime']}; --><![if !IE]>\n"
."<img src='data:{$data['mime']};base64,\n\n";
echo base64_encode(file_get_contents($file));
echo "' {$data[3]}{$style} /><![endif]>"
."<!--[if IE]><img src='mhtml:http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}!{$name}' {$data[3]}{$style}/>\n\n"
."<!--\n"
."--=_NextPart_01C6A9B1.539AB070--><![endif]-->";
return true;
}
?>