मैं वर्तमान में दो कक्षाओं को कोडिंग कर रहा हूं: 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