《PHP如何把图片base64转为buffer?》要点:
本文介绍了PHP如何把图片base64转为buffer?,希望对您有用。如果有疑问,可以联系我们。
一个图片,比如:网络图片或本地图片
$qrCodeImg='http://taokeapi.vephp.com/public/uploads/modules/index/index/p2.jpg'; $qrCodeImg='./qrtest2.jpg';
它的base64格式数据,如何转为buffer?
这里做一个试验:
首先这里会用到一个函数:
/** 把图片转成base64 :如 $img=imgtobase64('images/logo2.png'); * http://www.vephp.com 维易PHP * @param string $img 图片物理地址 * @param bool $imgHtmlCode 是否转成HTML代码,即:<img src="..."> 默认转化 * @return string */ function imgtobase64($img='', $imgHtmlCode=true) { $imageInfo = getimagesize($img); $base64 = "" . chunk_split(base64_encode(file_get_contents($img))); # file_get_contents可替换为 fread(fopen($img, 'r'), filesize($img)); return $imgHtmlCode? '<img src="'.$base64.'" border="0" />' : $base64; }
我们先把图片转为base64:
$qrCodeImg = imgtobase64($qrCodeImg,false);
若输出内容,会是这样的:
/9j/4AAQSkZJRgABAQAAAQABAAD...
有时需要转成buffer,这时做法有两种:
方式1:直接用 file_get_contents()函数读取这段base64即可。如下:
$qrCodeImg =file_get_contents ($qrCodeImg);
方式2:使用base64_decode()反转:
base64_decode($imgContent);
以上两种方式结果一样。