在POST和PUT中访问输入流的区别

时间:2014-11-01 06:20:01

标签: php httprequest

我制作了一个简单的文件:

$t1 = file_get_contents('php://input');

$t2 = file_get_contents('php://input');

var_dump(strlen($t1), strlen($t2));

当我通过 POST 发送数据时,t1和t2都包含相同的数据,但是当我通过 PUT 发送数据时,只有t1(第一个访问)有数据,第二个是空的

为什么会这样?

BTW我的php版本是5.3.13

1 个答案:

答案 0 :(得分:0)

你应该在这里看到:Supported Protocols and Wrappers - php:// — Accessing various I/O streams

Manual

手册说......

  • 您可以在 5.6。*
  • 的任何情况下重复阅读php://stdin
  • 如果请求方法为php://stdin,也许您可​​以使用 5.5。* 或旧版本重复阅读POST
  • 如果请求方法为php://stdinPUTPATCH,则无法使用 5.5。* 或更早版本重复阅读PROPFIND。< / LI>