问题:
能否直接从二进制数据重新创建并显示图像相同的脚本?这涉及到在 HTML 图像标签中显示数据之前使用 GD 或类似工具处理数据。目标是避免将处理后的图像保存到磁盘或使用外部脚本。
解决方案:
这可以通过使用图像源属性中的数据 URI 来实现。数据 URI 格式为:
data:[][;charset=" "][;base64],
此 PHP 函数创建一个文件中的数据 URI:
function data_uri($file, $mime) { $contents = file_get_contents($file); $base64 = base64_encode($contents); return ('data:' . $mime . ';base64,' . $base64); }
以下代码使用数据 URI 显示图像:
echo '';
用法:
至显示处理后的二进制图像数据,您可以使用 data_uri 函数并将生成的 URI 作为图像源输出,如下所示:
$imagedata1 = file_get_contents('assets/test.png'); $imagedata1 = process_using_gd_or_something($imagedata1); echo '';
此代码将直接显示处理后的图像不使用外部脚本或磁盘存储的二进制数据。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3