rt,求好心大大指点,只学了一周php就被拿来做项目苦不堪言T T

解决方案 »

  1.   

    什么样的二进制流。 用fwrite()/file_put_contents()写入新文件试试。
      

  2.   

    $stream = file_get_contents("php://input");
    $b=fopen('1.wav','a');
     if ($stream) {
     while (!feof($stream)) {
     $buffer = fgets($stream, 1024);
     fwrite($b,$buffer,1024);
     }
     fclose($stream);
     }
    请问这样写有没有问题
      

  3.   

    在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。 注意: 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。所以,$b=fopen('1.wav','ab');
      

  4.   

    当然不对
    $stream = file_get_contents("php://input");
    得到的是全部传入的数据,类型为字符串
    $stream = file_get_contents("php://input");
    file_put_contents('1.wav', $stream);
      

  5.   

    所以接收页面只需要这两行代码就可以了吗?
    录制页面已经设置成post到这里了
      

  6.   

    文件流是通过flash发送的,我这边没有他的代码,但是他用java测试了没有问题
      

  7.   

    那你能确认他不是文件上传的方式吗?在接收页打印出 $_FILES 看看(无返回页面时需写到文件)
      

  8.   

    in = request.getInputStream();
    file = new File("d:\\RecordingText.mp3");
    fileout = new FileOutputStream(file); byte[] b = new byte[1024];
    while(in.read(b) > 0) {
    i += b.length;
    fileout.write(b);
    }
    的确是流,用java是这样实现的
      

  9.   

    这与 java 的处理方式无关
    如果传送数据时发送了 multipart/form-data 头信息,那么 php 就会将其分离出来,作为上传文件处理。而不再以流形式提供给用户