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'=>'')); }
回复讨论(解决方案) 在线等,还望大家多多帮忙
大家没有什么想法吗
前几天 刚弄的 app提交图片的接口,二进制那种比较麻烦,
让app那端也用 浏览器那种方式提交过来,php正常接收就ok
然后返回地址、图片属性,(这边不用保存到本地吧,app那端应该是保存到本地),多个的话循环一下也行,也不慢
最后app把多个图片以及表情、内容什么的提交过来 ,然后保存到数据库 应该是 ok的 ,如果 单独保存图片 正则匹配一下!!!
$file获取
$_files用他读取获得图片数据
看到对多的答案就是用$_files循环获得,好像不理想,还是给分吧
