我目前正在編寫兩個類:HttpRequest和HttpResponse。 我想編寫我自己的HTTP類。php http請求內容原始數據enctype = multipart/form-data
我遇到了使用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--
是它適用於任何請求方法的方法嗎?或者我錯了?
我只想說:我很笨。謝謝 ;) – RaphyTheGeek