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

2017-03-07

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

也就是说

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

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

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

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

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

//  $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.css-js.com/base64.html

base64简介:http://baike.baidu.com/link?url=tbfs2Rem2mqO8ZLe91jp9BhLQJqBEvjDHFzu05lF4DxUoqNSdS9pzqoHuYrzPvxQZr_ZIOC1Bs7-ZoK364yP5_

本文内容来自微信公众号:小7带你玩编程

posted @ 2017-03-07 11:34  7small7  阅读(29962)  评论(0编辑  收藏  举报