相关疑难解决方法(0)

使用PHP手动解析原始的multipart/form-data数据

我似乎无法找到这个问题的真正答案,所以我在这里:

如何multipart/form-data在PHP中以格式解析原始HTTP请求数据?我知道如果格式正确,原始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
Run Code Online (Sandbox Code Playgroud)

我正在使用libcurl发送数据(伪代码):

curl_setopt_array(
  CURLOPT_POSTFIELDS => array(
    'user_id' => 3, 
    'post_id' => 5, 
    'image' => '@/tmp/current_file'),
  CURLOPT_CUSTOMREQUEST => 'PUT'
  );
Run Code Online (Sandbox Code Playgroud)

如果我删除了CURLOPT_CUSTOMREQUEST位,请求将作为服务器上的POST处理,并且所有内容都被解析得很好.

有没有办法手动调用PHP的HTTP数据解析器或其他一些很好的方法来做到这一点?是的,我必须发送请求作为PUT :)

php parsing curl http

30
推荐指数
3
解决办法
4万
查看次数

标签 统计

curl ×1

http ×1

parsing ×1

php ×1