PHP 将图片转化成base64编码和解码遇见的坑

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:19   1420   0

这段时间,一直在搞邮件群发的系统,当发送带有图片的话,那本地的路径访问就有问题了。所以当时尝试将图片base64编码化,一起发送过去。

但是 注意: 尝试的结果是各大主流邮箱平台全部拒收,视为垃圾邮件!!!!!!!!!!

没办法只能在服务器上新建个文件夹来存放读取的图片.......

好了 不多说了 上代码~

class img{

//传入图片地址,得到图片的Base64编码

public function img2Base64($img_file){

$img_base64 = '';

$app_dir = dirname(dirname(dirname(__FILE__)));//根据你的需要得到绝对路径

$app_img_file = $app_dir . $img_file; //组合出真实的绝对路径

$img_info = getimagesize($app_img_file);/取得图片的大小,类型等

$fp = fopen($app_img_file, "r"); //图片是否可读权限

if ($fp) {

$file_content = chunk_split(base64_encode(fread($fp, filesize($app_img_file))));//base64编码

switch ($img_info[2]) { //判读图片类型

case 1:

$img_type = "gif";

break;

case 2:

$img_type = "jpg";

break;

case 3:

$img_type = "png";

break;

}

$img_base64 = 'data:image/' . $img_type .';base64,' . $file_content;//合成图片的base64编码

fclose($fp);

}

}

//调用方法

include "../Model/img.Class.php";

$Model = new img();

$img_dir = '\test\img\cc.jpg'; //绝对的路径

$img_base64 = $Model->img2Base64($img_dir);//调用使用的方法--得到图片

echo $img_base64;

echo '<img src="'.$img_base64.'">';

注意 这个转化成base64的图片无法作为背景图片!!!!!!!!! 我尝试过很多办法 百度翻了好多页 也没找到方法 这个只能作为IMG 标签来调用!!!!!!!!!

转载于:https://www.cnblogs.com/z3kj/p/6477301.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP