根据图片路径转换成二进制
图片路径:
$image_file = 'http://pic308.nipic.com/file/20200712/29730056_103807407683_2.jpg';
$image_file = '1.jpg';
方法一(不支持远程图片):
$image_data = @fread(fopen($image_file, 'r'), filesize($image_file));
方法二(支持远程图片):
$image_data = file_get_contents($image_file);
如果想在浏览器上输出二进制图片:
$imageInfo = @getimagesize($image_file);
$imgType = isset($imageInfo['mime']) ? $imageInfo['mime'] : 'image/jpeg';
$imageData = file_get_contents($image_file);
header("Content-type: ".$imgType);
echo $imageData;
exit;
根据图片路径转换成base64的方法(
先转换成二进制再进行base64encode
)
function base64Img1 ($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;
function base64Img2($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = file_get_contents($image_file);
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
输出base64图片:
$imgBase64Str = base64Img2($image_file);
echo '<img src="'.$imgBase64Str.'">';
base64格式图片转化为二进制流
$imgArr = explode(',', $base64Str);
$imgStr = end($imgArr);
$imgData = base64_decode($imgStr);
如果要输出图片:
header("Content-type: image/jpeg");
echo $imgData;
上一篇:
PHP中DES对称加密openssl特殊字符加密解密失败问题解决
下一篇:
Postman打开报错Could not open Postman…问题解决
赞(
8
)
踩(
0
)