Php 将图像JPG转换为GIF,并将其打印到BASE64中的标记IMG中

Php 将图像JPG转换为GIF,并将其打印到BASE64中的标记IMG中,php,html,image,base64,Php,Html,Image,Base64,这是我的实际代码,在为我的php脚本动态生成的gif图像的正确可视化方面存在问题。如果我直接访问脚本生成的gif图像,浏览器会很好地显示它,但是如果我尝试从当前脚本通过标记img来显示它,浏览器将无法显示它 有朋友建议吗 <?php $src = imagecreatefromjpeg( 'img/ejemplo-2.jpg' ); list( $width, $height ) = getimagesize( 'img/ejemplo-2.jpg' ); $tmp = imagecrea

这是我的实际代码,在为我的php脚本动态生成的gif图像的正确可视化方面存在问题。如果我直接访问脚本生成的gif图像,浏览器会很好地显示它,但是如果我尝试从当前脚本通过标记img来显示它,浏览器将无法显示它

有朋友建议吗

<?php
$src = imagecreatefromjpeg( 'img/ejemplo-2.jpg' );
list( $width, $height ) = getimagesize( 'img/ejemplo-2.jpg' );
$tmp = imagecreatetruecolor( '300', '300');
imagecopyresampled( $tmp, $src, 0, 0, 0, 0, '300', '300', $width, $height );
$imagen = imagegif( $tmp, "filename.gif" );
$data   = "data:image/gif;base64," . base64_encode( file_get_contents( "filename.gif" ) );
?>

<img src="<?php echo $data; ?>" width="300" height="300" />

“width=“300”height=“300”/>

虽然Opera 7.2+、Firefox、Safari、Netscape和Mozilla支持数据URI,但Internet Explorer 5-7不支持数据URI。然而,据报道,Internet Explorer 8通过了Acid2测试,使数据URL成为嵌入较小装饰图像的可行替代方案。您可以在旧版本的Internet Explorer中使用一些变通方法

如果要解决浏览器缓存问题,请在img src的末尾附加一个随机生成的数字:

<img src="test.jpg?12345" />


您正在测试哪个浏览器?Mac OS X Snow Leopard上的Mozilla Firefox 3.6,此示例在我的浏览器中运行良好:是否有任何特定原因您必须使用数据URI方案?并非所有浏览器都支持此方案,并且base64编码图像数据将使用更多带宽。我强烈建议您参考您的HP脚本作为img src,而不仅仅是在那里转储数据。我想解决与浏览器缓存相关的问题。Edwin,浏览器缓存应使用适当的HTTP头进行管理。请参阅:非常感谢,在您提出建议后非常容易(jejeje:)