php 多个二进制流图片/文件怎么处理
1.功能需求是这样的,手机端接口需要完成一个上传多个图片的接口,而webserver则需要接受该二进制流,生成图片,保存本地,并将地址保存数据库;
2.目前遇到了一个这样的问题:怎么样得到多个二进制流,并将多个二进制流转换成相应的图片保存到本地
3.以下是接收一个二进制流图片处理的方法:
//二进制数据流
$file_data = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $globals ['http_raw_post_data'] );
//数据流不为空,则进行保存操作
if (! empty ( $file_data )) {
$save_name=md5(get_gmtime().mt_rand(10,99))..jpg;
$path=create_dir();
//创建并写入数据流,然后保存文件
if (@$fp = fopen ($path['file_path'].$save_name, 'w+' )) {
fwrite ($fp, $file_data);
fclose ($fp);
if (file_exists($path['file_path'].$save_name)) {
ajax_return(array('recode'=>0000,'msg'=>操作成功,'data'=>));
} else {
ajax_return(array('recode'=>9001,'msg'=>仅支持jpg,png,jpeg,gif格式的图片类型上传,gif动态图片上传后不会有动态效果,'data'=>));
}
} else {
ajax_return(array('recode'=>0001,'msg'=>操作失败,'data'=>''));
}
} else {
//没有接收到数据流
ajax_return(array('recode'=>0001,'msg'=>请选择要上传的图片,'data'=>''));
}
二进制流 二进制流图片保存 多个二进制流文件保存 分享到:
------解决方案--------------------
$_files用他读取获得图片数据