参见英文答案 >
Get raw post data3个
我目前正在编写两个类:HttpRequest和HttpResponse.
我想编写自己的HTTP类.
我目前正在编写两个类:HttpRequest和HttpResponse.
我想编写自己的HTTP类.
我在使用带有enctype = multipart / form-data的表单的POST方法遇到问题:我无法获取请求内容.
经过长时间的研究和搜索,我发现我必须使用file_get_contents(“PHP:// input”)来获取请求内容.
当我测试它时,我有一个空字符串var_dump(file_get_contents(“PHP:// input”)).
我无法访问服务器/ PHP配置.
我正在使用以下代码进行测试:
<?PHP $input = file_get_contents('PHP://input'); var_dump($input); ?> <html> <body> <form action="./" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="text" name="namen" id="nameid" /><br/> <input type="file" name="file" id="file"><br> <input type="file" name="file2" id="file2"><br> <input type="submit" name="submit" value="Submit"> </form> </body> </html>
提交后,我有这个结果:string(0)“”.
很明显因为PHP://输入不能与enctype =“multipart / form-data”表单一起使用.
我希望有类似的东西:
-----------------------------19972703421793859182225487886 Content-disposition: form-data; name="namen" ds -----------------------------19972703421793859182225487886 Content-disposition: form-data; name="file"; filename="toto.xml" Content-Type: text/xml <?xml version="1.0" encoding="UTF-8"?> <Toto></Toto> -----------------------------19972703421793859182225487886 Content-disposition: form-data; name="file2"; filename="" Content-Type: application/octet-stream -----------------------------19972703421793859182225487886 Content-disposition: form-data; name="submit" Submit -----------------------------19972703421793859182225487886--
它是否适用于任何请求方法?或者我错了?
我在这里寻找明显的一个:为什么甚至懒得试图自己解析这个?通过使用$_POST [] / $_FILES [],数据在您的范围内.
您仍然可以围绕这些值构建自己的类,而不是让您自己的类尝试完成与PHP编译器已经为您完成的相同的数据数组.
为了给你一个有效的答案:我不知道如何获得你的PHP://输入,因为它可能是由PHP编译器读取的,因此你在流的末尾(加上:它是只读的,因此可能无法将指针重置为流的开头).
原文地址:https://www.jb51.cc/php/135854.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。