我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在 PHP 中将图像编码为 Base64

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在 PHP 中将图像编码为 Base64

借助 PHP 中的多个内置函数,有很多方法可以将图像编码为 base64 格式。

这些函数包括:

  • pathinfo
  • file_get_contents
  • base64_encode
  • mime_content_type

在 PHP 中使用 file_get_contentspathinfobase64_encode 将图像编码为 Base64

图像应该有一个存储在变量中的定义路径,以使用 file_get_contentspathinfobase64_encode 将图像编码为 base64。

使用 pathinfo 功能读取信息。然后将结果信息传递给 file_get_contents 函数。

file_get_contents 的工作是将图像文件读入字符串。我们可以将字符串传递给 base64_encode 函数。

要显示 base64 编码的图像,连接字符串 data:image/、来自 pathinfo 的信息、字符串 ;base64 和 base64 编码的字符串。


<?php
	// Define a path for the image
	$image_path = 'xps-unsplash.jpg';

	// Check the image type
	$image_type = pathinfo($image_path, PATHINFO_EXTENSION);

	// Read the image into a string
	$data = file_get_contents($image_path);

	// Encode the image
	$base64_encode = 'data:image:/' . $image_type . ';base64,' . base64_encode($data);

	// Return the first 50 characters of the
	// base64 encoded string
	echo substr($base64_encode, 0, 50);
?>

输出:


data:image:/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD

在 PHP 中使用 file_get_contentsbase64_encode 将图像编码为 Base64

要将图像转换为 base64,请将图像的路径直接传递给 file_get_contents 函数。

file_get_contents 函数将返回一个字符串。如果你将此字符串作为参数提供给 base64_encode 函数,将会有所帮助。


<?php
    // Define a path for the image
    $data = file_get_contents('xps-unsplash.jpg');

    // Encode the image
    $base64_encode = base64_encode($data);

    // Return the first 50 characters of the
    // base64 encoded string
    echo substr($base64_encode, 0, 50);
?>

输出:


/9j/4AAQSkZJRgABAQEASABIAAD/4gIcSUNDX1BST0ZJTEUAAQ

在 PHP 中使用 base64_encodemime_content_type 将图像编码为 Base64

使用 file_get_contents 函数读取图像路径。然后将生成的字符串转换为 base64 编码。

你可以在将图像源传递给 HTML <img> 标记中的 class="lazy" data-src 标记之前对其进行格式化。

为此,你需要将图像格式化为 data:{mime};base64,{data}。你可以从格式中推断出你需要图像 mime 类型。

你可以使用 mime_content_type 函数获取图像 mime 类型。最后,你将格式作为 <img> 标记的 class="lazy" data-src 属性的值传递。


<?php
    // Define a path for the image
    $image_path = 'xps-unsplash.jpg';

    // Read the image path and convert it to
    // base64
    $base64_encode = base64_encode(file_get_contents($image_path));

    // Prepare the image for use in an img
    // class="lazy" data-src tag
    $image_source = 'data: ' . mime_content_type($image_path) . ';base64,' . $base64_encode;

    // Display the image in the img class="lazy" data-src tag
    echo '<img class="lazy" data-src="' . $image_source . '">';
?>

输出:

在 PHP 中将图像编码为 base64


使用 PHP 中的自定义函数将图像编码为 Base64

在此函数的定义中,你可以使用诸如 file_get_contentsbase64_encodepathinfo 之类的方法来处理图像编码。

你可以使用 file_put_contents 实现缓存功能以获得更好的性能。


<?php
    function encode_html_image (
        $image_file,
        $alternate_text = NULL,
        $image_cache,
        $image_extension = NULL
    ) {
        // check if the image is not a file
        if (!is_file($image_file)) {
            return false;
        }
        // Save the image as base64 extension for
        // use as a cache
        $image_with_base64_extension = "{$image_file}.base64";
        if ($image_cache && is_file($image_with_base64_extension)) {
            // Use the cache image
            $base64_encoded_image = file_get_contents($image_with_base64_extension);
        } else {
            // Create a new base64 encoded image
            $image_binary_data = file_get_contents($image_file);
            $base64_encoded_image = base64_encode($image_binary_data);

            if ($image_cache) {
                file_put_contents($image_with_base64_extension, $base64_encoded_image);
            }
        }

        $image_extension = pathinfo($image_file, PATHINFO_EXTENSION);

        return "<img alt='{$alternate_text}' class="lazy" data-src='data:image/{$image_extension};base64,{$base64_encoded_image}' />";
    }

    $sample_image = 'xps-unsplash.jpg';
    $encoded_image = encode_html_image($sample_image, 'XPS by DELL', true);
    echo $encoded_image;
?>

输出:

在 PHP 中将图像编码为 base64

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在 PHP 中将图像编码为 Base64

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

在 PHP 中将图像编码为 Base64

借助 PHP 中的多个内置函数,有很多方法可以将图像编码为 base64 格式。这些函数包括:pathinfofile_get_contentsbase64_encodemime_content_type在 PHP 中使用 file_get
在 PHP 中将图像编码为 Base64
2024-02-27

在GO中将gif图像转换为base64

在GO语言中,将GIF图像转换为Base64编码是一种常见的操作。通过将图像数据转换为Base64编码,我们可以方便地在网页中嵌入图片,或者将图片数据以字符串形式传输。在GO语言中,可以使用encoding/base64包中的函数来实现这一
在GO中将gif图像转换为base64
2024-02-09

PHP5.2怎么将图片转换为Base64编码

这篇文章主要讲解了“PHP5.2怎么将图片转换为Base64编码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP5.2怎么将图片转换为Base64编码”吧!在开发网页时,我们经常需要嵌入
2023-07-06

php如何将blob数据转为base64编码

本篇内容介绍了“php如何将blob数据转为base64编码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Part 1:基础概念在开始转换之
2023-07-05

Java中将base64编码字符串转换为图片的代码

这篇文章主要介绍了Java中将base64编码字符串转换为图片,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-19

Java中怎么将base64编码字符串转换为图片

本篇内容介绍了“Java中怎么将base64编码字符串转换为图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!将base64编码字符串转换为
2023-07-05

怎么在php中将图片转成base64

这篇文章将为大家详细讲解有关怎么在php中将图片转成base64,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用PHP将图片转换成base64编码的实现方法相信大家都知道Base64是网络
2023-06-15

在 PHP 中将 PDF 文档转换为预览图像

本篇文章将讨论可用于将 PDF 文档转换为一组 PHP 预览图像的方法。预览为您的内容增加了一层安全性,因为图像上的内容无法复制和粘贴。 它们还提供其他我们不会详述的功能。将 PDF 文档转换为预览图像的最简单方法是利用第三方库。 这些都是
在 PHP 中将 PDF 文档转换为预览图像
2024-02-27

Java项目中如何将图片与base64 编码相互转换

这期内容当中小编将会给大家带来有关Java项目中如何将图片与base64 编码相互转换,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。代码:/** * @Description: 将base64编码字符串转
2023-05-31

在Java中怎么将 Base64编码与String字符串进行转换

这篇文章给大家介绍在Java中怎么将 Base64编码与String字符串进行转换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体方法如下:package com.duanlian.daimengmusic.util
2023-05-31

如何在PHP中将十六进制编码e8 af 9a转换为中文?

标题:PHP中的十六进制编码转换为中文示例在PHP中,如果我们需要将十六进制编码转换为中文字符,可以通过使用hex2bin()函数来实现。下面给出一个具体的代码示例:
如何在PHP中将十六进制编码e8 af 9a转换为中文?
2024-02-27

如何在Matlab中将图像从笛卡尔坐标更改为极坐标

要将图像从笛卡尔坐标更改为极坐标,您可以使用Matlab中的polarplot函数。以下是一个简单的示例代码,展示了如何实现这一操作:```matlab% 读取图像img = imread('your_image.jpg');% 将图像转换
2023-09-26

使用PHP的json_encode()函数将数组或对象转换为JSON字符串并将中文字符编码为UTF-8

使用PHP的json_encode()函数将数组或对象转换为JSON字符串并将中文字符编码为UTF-8在PHP中,我们可以使用json_encode()函数将一个数组或对象转换为JSON字符串。默认情况下,json_encode()函数将中
使用PHP的json_encode()函数将数组或对象转换为JSON字符串并将中文字符编码为UTF-8
2023-11-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录