分享

php如何将base64数据流文件转换为图片文件?

 昵称21532077 2017-12-28

在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片。

也就是说

1
<img src="data:image/jpg;base64," />

***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一长串就是具体的文件信息。

data:image/jpg;base64则是指的文件头。我们可以把src里面的全部内容放在浏览器的地址栏进

行访问,是可以正常显示图片文件的。

我将src的值获取到后台之后,在后台进行处理。这里的方法就不具体细讲了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//  $base_img是获取到前端传递的src里面的值,也就是我们的数据流文件
$base_img = str_replace('data:image/jpg;base64,', '', $base_img);
//  设置文件路径和文件前缀名称
$path = "./";
$prefix='nx_';
$output_file = $prefix.time().rand(100,999).'.jpg';
$path = $path.$output_file;
//  创建将数据流文件写入我们创建的文件内容中
$ifp = fopen( $path, "wb" );
fwrite( $ifp, base64_decode( $base_img) );
fclose( $ifp );
// 第二种方式
// file_put_contents($path, base64_decode($base_img));
// 输出文件
print_r($output_file);

在线转换工具链接:http://tool./base64.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约