PHP 把图片转换成base64编码格式
图片的保存和传输有些不是很方便,可以转成字符串,把远程图片转成base64编码格式,传输图片字符串给前端,前端转换成图片
<?php
/**
* 把图片转成base64编码
* @param $file string 图片路径
* @return array|string
*/
public function imgToBase64($file)
{
if($fp = fopen($file,"rb", 0)) {
// 获取图片文件大小
$header_array = get_headers($file,true);
$size = $header_array['Content-Length'];
// 获取类型
$img_info = getimagesize($file);
// 类型默认png
$img_type = 'png';
// 判读图片类型
switch ($img_info[2]) {
case 1: $img_type = "gif";
break;
case 2: $img_type = "jpg";
break;
case 3: $img_type = "png";
break;
}
$gambar = fread($fp, $size);
fclose($fp);
$base64Img = chunk_split(base64_encode($gambar));
// 拼上文件类型和格式,解码时有些需要把这两个东西去掉,有些不需要,可以根据自己的场景调整,避免出错
$imgContent = 'data:image/' . $img_type . ';base64,' . $base64Img;
return ['imgContent' => $imgContent];
}else{
return '下载图片失败,请重试';
}
}
//************使用************
// 图片路径
$file = 'zzzyk.com.png';
$imgContent = $this->imgToBase64($file);
print_r($imgContent);
补充:移动开发 , 移动开发其他问题