1
PHP将base64图片流转成图片输出到浏览器
Posted by 撒得一地 on 2016年10月19日 in PHP笔记
一般来说,当我们获取到图片的base64图片流的时候,若想在浏览器上直接输出图片,这里介绍常规的两种方法。
首先,假设图片的base64数据流为:$base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgA….",那么你可以使用下面这两种方法,在浏览器输出你想要的图片。
1.直接在html里面使用数据流输出(Data URI scheme)
即在html页面里面直接使用上面 $base64 数据流就可以输出图片,如:
<image src="data:image/png;base64,图片数据流"> ,常规的代码可以这样写:
<?php //图片base64数据流 $base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgAATU0AKgAAAA..."; echo '<image src="data:image/png;base64,'.$base64.'">'; ?>
2.先将base64保存为图片存放到本地再输出
直接上代码:
<?php $base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgAATU0AKgAAAA..."; $img = base64_decode($base64); //将图片保存到本地 保存成功返回的是字节数 $a = file_put_contents('./test.jpg', $img); echo '<image src="test.jpg" />'; ?>
1 Comment
看起来好复杂,好像有些站点显示的是图片,但是看源码却不是图片,保存到本地也不是正常的图片,这种不知道是不是加密过的?是不是比较省流量?