【发布时间】:2011-01-20 17:22:44
【问题描述】:
我正在创建一个轻量级的单文件数据库管理工具,我想将一些小图标与它捆绑在一起。在 HTML/PHP 文件中嵌入图像的最佳方法是什么?
我知道一种使用 PHP 的方法,我会使用 GET 参数调用同一个文件,该参数会输出带有正确标题的硬编码二进制数据,但这似乎有点复杂。
我可以使用一些东西直接在 CSS background-image 声明中传递图像吗?这将允许我利用 CSS sprite 技术。
浏览器支持在这里不是问题,因此也欢迎使用更多奇特的方法。
编辑
是否有人提供如何使用 PHP 正确生成数据 URL 的链接/示例?我认为echo 'data:image/png;base64,'.base64_encode(file_get_contents('image.png')) 就足够了,但我可能错了。
【问题讨论】:
-
是的,
base64_encode(file_get_contents())是要走的路。你可以chunk_split()它,但这不是必须的。 -
顺便说一下:IE6 和 7 不支持
data:URI,IE8 只支持一些字节的最大长度(具体值忘记了,但对于中等大小的图像来说肯定太少了)。