Tôi hiện đang mã hóa hai lớp: HttpRequest và HttpResponse. Tôi muốn mã các lớp HTTP của riêng mình.php http yêu cầu nội dung dữ liệu thô enctype = multipart/form-data
Tôi đang gặp sự cố với phương thức POST bằng biểu mẫu có enctype = multipart/form-data: Tôi không thể nhận được nội dung yêu cầu.
Sau một nghiên cứu dài và tìm kiếm, tôi thấy mình phải sử dụng file_get_contents("php://input")
để nhận nội dung yêu cầu. Khi tôi kiểm tra nó, tôi có một chuỗi rỗng var_dump(file_get_contents("php://input"))
.
Tôi không có quyền truy cập vào cấu hình máy chủ/php.
Tôi đang thử nghiệm với đoạn mã sau:
<?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>
Và sau khi nộp, tôi có kết quả này: string(0) ""
. Điều này hiển nhiên vì php: // input không hoạt động với các biểu mẫu enctype = "multipart/form-data".
Tôi muốn có một cái gì đó như:
-----------------------------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--
phải là một cách nó hoạt động đối với bất kỳ phương thức yêu cầu? Hoặc là tôi sai ?
Tôi chỉ muốn nói: Tôi ngu ngốc. Cảm ơn ;) – RaphyTheGeek