日期:2014-05-17  浏览次数:20582 次

CURL模拟客户端 post语音文件问题,求大神指教
我需要从php模拟客户端发送语音文件(arm格式)到服务器端PostStream.aspx页面,出现问题,用方法一指定路径发送过去会比原语音文件稍大,aaa.amr:
------------------------------fa24ee50a8c6
Content-Disposition: form-data; name="upimg"; filename="aaa.amr"
Content-Type: application/octet-stream
。。。语音文件编码。。。
-----------------fa24ee50a8c6--

我用记事本打开aaa.amr后发现多了Content-Disposition:XXX和Content-Type:XXX 这些东西,那么这个语音文件肯定不能播放

这是我的代码
方法①:
 $file = array("audio"=>"@E:/POSTSTREAM/s.amr");//文件路径,前面要加@,表明是文件上传.   
         $curl = curl_init("http://xxx.xxx.xxx.xxx:xxx/ddppls/PostStream.aspx?pack={1411}{615044}{7348}{534310}");   
         curl_setopt($curl, CURLOPT_HEADER, 0);                 
         curl_setopt($curl,CURLOPT_POST,1);   
         curl_setopt($curl,CURLOPT_POSTFIELDS,$file);   
         $response= curl_exec($curl); 
          curl_close($curl);



------解决方案--------------------
方法一把header那句去掉再试试
------解决方案--------------------
可以试试 socket