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'=>''));
}