如何在laravel中获取原始表单数据?

Ben*_*ird 11 php http put laravel

我有一个脚本尝试使用HTTP PUT将数据发送到我的网站.通常,我只是通过读取输入流来检索它file_get_contents('php://input').但是,当我尝试使用laravel时,我什么都没得到!为什么不?如何读取原始输入数据?

Ben*_*ird 25

Laravel拦截所有输入.如果您使用的是5.6之前的PHP,php://input则只能读取一次流.这意味着您需要从框架中获取数据.您可以通过访问实例getContent上的方法来执行此操作Request,如下所示:

$content = Request::getContent(); // Using Request facade
     /* or */ 
$content = $request->getContent(); // If you already have a Request instance
                                   // lying around, from say the controller  
Run Code Online (Sandbox Code Playgroud)

Illuminate\Request扩展以来Symfony\Component\HttpFoundation\Request,getContent在此定义:http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/Request.html#method_getContent

  • 我认为理论上你不需要获取实例,但可以直接使用Facade:`Request :: getContent();` (4认同)