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'=>''));
}二进制流二进制流图片保存多个二进制流文件保存

解决方案 »

  1.   

    前几天 刚弄的 app提交图片的接口,二进制那种比较麻烦,
    让app那端也用 浏览器那种方式提交过来,php正常接收就ok
    然后返回地址、图片属性,(这边不用保存到本地吧,app那端应该是保存到本地),多个的话循环一下也行,也不慢
    最后app把多个图片以及表情、内容什么的提交过来 ,然后保存到数据库 应该是 ok的 ,如果 单独保存图片 正则匹配一下!!! 
      

  2.   

    $_FILES用他读取获得图片数据
      

  3.   

    看到对多的答案就是用$_FILES循环获得,好像不理想,还是给分吧