Я не могу найти реального ответа на эту проблему, поэтому я иду:
Как вы анализируете необработанные данные HTTP-запроса в формате multipart/form-data
в PHP? Я знаю, что raw POST автоматически анализируется, если отформатирован правильно, но данные, которые я имею в виду, поступают из запроса PUT, который автоматически не обрабатывается PHP. Данные многочастны и выглядят примерно так:
------------------------------b2449e94a11c
Content-Disposition: form-data; name="user_id"
3
------------------------------b2449e94a11c
Content-Disposition: form-data; name="post_id"
5
------------------------------b2449e94a11c
Content-Disposition: form-data; name="image"; filename="/tmp/current_file"
Content-Type: application/octet-stream
�����JFIF���������... a bunch of binary data
Я отправляю данные с libcurl, как это (псевдокод):
curl_setopt_array(
CURLOPT_POSTFIELDS => array(
'user_id' => 3,
'post_id' => 5,
'image' => '@/tmp/current_file'),
CURLOPT_CUSTOMREQUEST => 'PUT'
);
Если я отбрасываю бит CURLOPT_CUSTOMREQUEST, запрос обрабатывается как POST на сервере, и все анализируется просто отлично.
Есть ли способ вручную вызывать парсер PHP-данных PHP или какой-либо другой хороший способ сделать это? И да, я должен отправить запрос как PUT:)