gpt4 book ai didi

php - file_get_contents 在读取文件时显示意外输出

转载 作者:可可西里 更新时间:2023-11-01 13:47:58 25 4
gpt4 key购买 nike

我想将内联 jpg 图像输出为 base64 编码字符串,但是当我这样做时:

$contents = file_get_contents($filename);
print "<img src=\"data:image/jpg;base64,".$contents."\"/>";

其中 $filename 是带有 base64 图像的本地文本文件。输出如下:

<img src="data:image/jpg;base64,/9j/4A..... (the rest of the file)...." />

很明显图像没有被渲染,但是  来自哪里?它不在文本文件中。如果移除,图像会正确显示。

最佳答案

这是一个 Unicode Byte-Order Mark .该文件是使用编辑器保存的,该编辑器添加了 BOM 以指示文件编码为 UTF-8。所以这些字节实际上在文件中,但文本编辑器不会显示它,因为它不是文本。要存储此类数据,您需要删除 BOM。最简单的方法是将您的编辑器配置为不添加 BOM,但如果您对文件的创建过程没有影响,您也可以在脚本中即时添加它:

print "<img src=\"data:image/jpeg;base64,".ltrim($contents, "\xEF\xBB\xBF")."\"/>";

关于php - file_get_contents 在读取文件时显示意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com