-1
<?php

   if(!isset($_REQUEST['filename']))
   {
     exit('No file');
   }

   $upload_path = dirname("files"). '/';

   $filename = $_REQUEST['filename'];

   $fp = fopen($upload_path."/".$filename.".wav", "wb");

   ***fwrite($fp, file_get_contents('php://input'));***

   fclose($fp);

   exit('done');

?>

この例を使用して、オーディオを録音してサーバーに送信しようとしています。PHPでは問題なく動作しますが、このコードをRubyに変換したいです。この行には (php://input) がありますが、これはどういう意味ですか? そして、ルビーで同じように何を書くべきですか

fwrite($fp, file_get_contents('php://input')); ありがとう

4

1 に答える 1

4

php://明らかに、rubyにはストリームラッパーがありません。これはPHP固有です。したがって、文字通り移植することはできません。

php://inputここで説明されています:http://php.net/manual/en/wrappers.php.php

php:// inputは、リクエスト本文から生データを読み取ることができる読み取り専用ストリームです。

したがって、たとえば、それがポストリクエストの場合(通常はそうです)、Rails 3の場合、 request.raw_postドキュメントはhttp://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-raw_postにあります。

于 2012-05-03T13:37:56.167 に答える