如何直接在 PHP 中显示从二进制数据重新创建的图像?

Mary-Kate Olsen
发布: 2024-11-09 13:56:02
原创
178 人浏览过

How to Display Recreated Images from Binary Data Directly in PHP?

在 PHP 中显示从二进制数据重新创建的图像

常见任务涉及检索和显示存储为二进制数据的图像。为了优化这个过程,最好在同一个脚本中处理和显示图像,而不需要外部存储或脚本。

解决方案:

PHP 提供了一个通过使用数据 URI 的解决方案。这些 URI 将二进制数据直接嵌入到 HTML 中,无需引用外部文件即可显示它们。

数据 URI 的语法如下:

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
登录后复制

其中:

  • MIME-type:指定嵌入数据的类型,例如“image/png”或"image/jpeg"。
  • charset:可选参数,指定数据的字符编码,通常为“base64”。
  • data:编码为 base64 的二进制数据。

要处理二进制数据,请使用适当的 PHP 函数(例如 gd_imagecreatefromstring())从二进制流加载图像。处理后,使用 imagepng() 或 imagejpeg() 将图像转换回二进制。

最后,使用 base64_encode() 将数据编码为 base64。然后,此编码数据可以用作 HTML 图像标签的源:

<?php
function data_uri($binary_data, $mime_type)
{
  return 'data:' . $mime_type . ';base64,' . base64_encode($binary_data);
}

// Get binary data of image
$imagedata = get_binary_data();

// Process image
$processed_imagedata = process_image($binary_data);

// Display image using data URI
echo '<img src="' . data_uri($processed_imagedata, 'image/png') . '" alt="Processed Image">';
?>
登录后复制

以上是如何直接在 PHP 中显示从二进制数据重新创建的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板