php http请求内容原始数据enctype = multipart / form-data
发布时间:2020-12-13 18:26:53 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Get raw post data3个 我目前正在编写两个类:HttpRequest和HttpResponse. 我想编写自己的HTTP类. 我在使用带有enctype = multipart / form-data的表单的POST方法遇到问题:我无法获取请求内容. 经过长时间的研究和搜索,我发现我必须使用file_g
参见英文答案 >
Get raw post data3个
我目前正在编写两个类:HttpRequest和HttpResponse. 我想编写自己的HTTP类. 我在使用带有enctype = multipart / form-data的表单的POST方法遇到问题:我无法获取请求内容. 经过长时间的研究和搜索,我发现我必须使用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)“”. 我希望有类似的东西: -----------------------------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编译器读取的,因此你在流的末尾(加上:它是只读的,因此可能无法将指针重置为流的开头). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |