【发布时间】:2016-10-31 03:22:18
【问题描述】:
我正在从头开始编写一个 restful api 库,现在我遇到了一个常见问题:从请求中读取 multipart/form-data 的原始数据。
对于 POST 请求,我知道我应该使用 $_FILE / $_POST 变量。但是,如果存在 PUT、PATCH 或除 POST 之外的任何请求类型怎么办?
- 这种情况可能吗?
- 如果是这样,我如何阅读原始正文
内容,因为根据documentation 它不是
在
php://input可用?
注意:我已经搜索过输入格式以及如何读取它,我只想访问 RAW 数据。
【问题讨论】:
-
我已经测试过,
php://input可用于 PUT 请求,并且在文档中没有看到任何矛盾的地方 -
“根据文档,它在 php://input 中不可用”——我在文档中看不到它在哪里说的。
-
如果有帮助请查看此链接,link。
-
嗨。请检查一下:
php://input is not available with enctype="multipart/form-data".在本段末尾:php.net/manual/en/wrappers.php.php#wrappers.php.input -
@CarlosCarucce,如果您使用的是 apache,则有一个技巧 here 可以更改“multipart/form-data”以强制 php 获取实际数据(因此您可以使用
php://input)。既然你说你正在开发一个开源库,我认为你不会喜欢那个解决方案,但它值得一读。
标签: php rest httprequest