如何在单个HTML / PHP文件中嵌入图像?
我正在创建一个轻量级的单文件数据库管理工具,我希望将一些小图标与其捆绑在一起。将图像嵌入HTML / PHP文件的最佳方法是什么?
我知道一种使用PHP的方法,在该方法中,我将使用GET参数调用同一文件,该参数将输出具有正确标头的硬编码二进制数据,但这似乎有点复杂。
我可以使用某些东西直接在CSS background-image
声明中传递图像吗?这将允许我利用CSS Sprite技术。
浏览器支持在这里不是问题,因此也欢迎使用更多奇特的方法。
有人知道如何使用PHP正确生成数据URL的链接/示例吗?我想数字echo
'data:image/png;base64,'.base64_encode(file_get_contents('image.png'))就足够了,但我可能是错的。
回答:
将图像直接嵌入HTML页面的解决方案是使用数据URI方案
例如,您可以使用如下所示的HTML的某些部分:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP
C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA
AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J
REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq
ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0
vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />
我链接到Wikipedia页面上还有其他解决方案:
- 包括图像作为CSS规则
- 使用一些Javascript。
但是请注意,这些解决方案不能在所有浏览器上都可以使用-由您决定,在您的特定情况下,是否可以接受。
要回答您有关 “如何使用PHP正确生成数据URL”的问题 ,请在Wikipedia页面中介绍一下Data
URI方案,该部分给出了这部分代码
(引号) :
function data_uri($file, $mime) {
$contents = file_get_contents($file);
$base64 = base64_encode($contents);
return ('data:' . $mime . ';base64,' . $base64);
}
?>
<img src="<?php echo data_uri('elephant.png','image/png'); ?>" alt="An elephant" />
以上是 如何在单个HTML / PHP文件中嵌入图像? 的全部内容, 来源链接: utcz.com/qa/406827.html