php で複数のバイナリ ストリーム画像/ファイルを処理する方法
1. 機能要件は次のとおりです。モバイル インターフェイスは複数の画像をアップロードするためのインターフェイスを完成させる必要があり、Web サーバーはバイナリ ストリームを受け入れ、画像を生成し、保存する必要があります。それらをローカルに保存し、アドレスをデータベースに保存します。
2. 現在、複数のバイナリ ストリームを取得し、複数のバイナリ ストリームを対応する画像に変換してローカルに保存する方法という問題に遭遇しました
3. バイナリストリーム画像処理の受信方法は以下の通りです:
//二进制数据流<br /> $file_data = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] );<br /> //数据流不为空,则进行保存操作<br /> if (! empty ( $file_data )) {<br /> $save_name=md5(get_gmtime().mt_rand(10,99)).".jpg";<br /> $path=create_dir();<br /> //创建并写入数据流,然后保存文件<br /> if (@$fp = fopen ($path['file_path'].$save_name, 'w+' )) {<br /> fwrite ($fp, $file_data);<br /> fclose ($fp);<br /> if (file_exists($path['file_path'].$save_name)) {<br /> ajax_return(array('recode'=>"0000",'msg'=>"操作成功",'data'=>""));<br /> } else {<br /> ajax_return(array('recode'=>"9001",'msg'=>"仅支持jpg,png,jpeg,gif格式的图片类型上传,gif动态图片上传后不会有动态效果",'data'=>""));<br /> }<br /> } else {<br /> ajax_return(array('recode'=>"0001",'msg'=>"操作失败",'data'=>''));<br /> }<br /> } else {<br /> //没有接收到数据流<br /> ajax_return(array('recode'=>"0001",'msg'=>"请选择要上传的图片",'data'=>''));<br /> }