《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.fzlkiss.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);
以上兩種方式結果一樣。