中药方大全小图标
您当前的位置:首页 > 其他 > 网站日记

jiuhecai谈在php中图片和base64字符串的相互转化

提示: 阅读权限:公开  来源:jiuhecai  作者:jiuhecai

jiuhecai今日在雨后的天气里,谈谈php中,图片数据和字符串的相互转化。

图片转字符串

把图片读入内存,然后用base64函数转化,加上头部特征串,就完成了图片的字符串化。代码如下:

<?php
$img = ECMS_PATH.'/bg/biglogo.gif';
$base64_img = base64EncodeImage($img);
echo '<img src="' . $base64_img . '" />';
function base64EncodeImage ($image_file) {
  $base64_image = '';
  $image_info = getimagesize($image_file);
  $image_data = fread(fopen($image_file, 'r'), filesize($image_file));
  $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
  return $base64_image;
}

运行后的结果为:

<img src="data:image/gif;base64,R0lGODlh+AI8APcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Z
mf+ZZv+ZM/+ZAP9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8A
Zv8AM/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZ
M8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wA
AJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZmZmZZpmZM5mZAJlm
/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/
zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZm
mWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/
ZjP/MzP/ADPM/zPMzDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNm
MzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/
AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBmAAAz
/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAMwAAAJ0BAFUICH55Vrewf+/kqGFaP+fLleO5
e82pc8WcZ9asccykbdyyd7uWZcuaX9KgY76SW8OVXriNWtWmapt0SqiAUrKIV4tlQXpVOPLp4k0y
IGZELOeZaS0bEfSIV9WEXd5yS9dHKbovHssUA7ORjq0LBaV8e////yH5BAEAAP8ALAAAAAD4AjwA
AAj/AN/Bg9euoMGD7BKye8dwIDyGECEqTPhOYTt36dKFC5cR3Thw4MalQ7cxI8eR41KqXMmy5biN
MGPKlOmypcZwJE+qg5nO3c6T7moKPRlTnTp06cCNRIc03DimIpGiw/gR5FOV6I4yzXjUnTumWbP6
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
E+ENsydegKWPAgIAOw==
" />

图片的字符串数据转化为图片输出

反过来,如果已知图片的base64字符串,如何生成图片呢?看如下的代码:

<?php
header('Content-type:text/html;charset=utf-8');
$base64_image_content = $_POST['imgBase64'];
//匹配出图片的格式
if (preg_match('/^(data:s*image/(w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "upload/active/img/".date('Ymd',time())."/";
if(!file_exists($new_file))
{
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($new_file, 0700);
}
$new_file = $new_file.time().".{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '新文件保存成功:', $new_file;
}else{
echo '新文件保存失败';
}
}
?>

以上代码可以把base64的图片数据,保存为指定的文件。如果要直接输出到客户端,那更加简单了:

<?php
$data = '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';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
?>


tags: 图片 php base64
返回顶部
推荐资讯
视频:田纪钧讲关节不痛的秘密、膝关节拉筋法
视频:田纪钧讲关节不
白露到了,你还好吗?
白露到了,你还好吗?
尿疗与断食
尿疗与断食
给风疹反复发作女孩的药方(组图)
给风疹反复发作女孩的
相关文章
栏目更新
栏目热门
  1. 帝国cms全站搜索的分页格式如何修改-流程
  2. libreoffice7的命令大全
  3. 帝国cms插件之标题生成标题图片
  4. 帝国cms插件安装模板
  5. useragent两千条,爬虫专用
  6. 帝国cms插件如何兼容gbk和utf8
  7. 帝国cms插件之迅搜
  8. 帝国cms用户上传文件名的命名规则及修改方
  9. 帝国cms7.2函数大全
  10. 帝国cms代码片段备忘录