Reputation: 1976
I am sending a request that contains an image file as well as meta data from a phone to a server running PHP. On the server, I would like to grab the file as well as the meta data, however, apparently if a request has Content-type multipart/form-data
, you don't have access to 'php://input'
as you do with 'application/json'
If at all possible, for many reasons, I would really like to do this in one request.
Here is my current non-working PHP code
$jsonString = file_get_contents('php://input');//Doesn't work
$jsonArray = json_decode($jsonString, true);
echo $jsonString; //does not throw error but echos nothing
print_r($jsonArray);//does not throw error but prints nothing
$file = $_FILES['image'];//Works
echo "File Name: " . $file['name'];//Correctly ouputs file name.
Since the code on the phone is Swift, I am not including it but basically it sends the file and also metadata in the body of the request as form data encoded as a string and delimited with boundary strings. After the initial boundary string, each item has "Content-Disposition: form-data". In the case of the file, it is also marked with "Content-Type: image/png:
What can I use in place of file_get_contents('php://input')
to get access to the other form data in a multipart/form-data request?
Upvotes: 0
Views: 69