使用php和cURL转发多部分表单数据

时间:2013-04-19 14:33:32

标签: php post curl proxy multipartform-data

我正在使用cURL在PHP中开发一个小代理。它必须从客户端接收http请求,使用此请求进行一些统计,向Web服务器发送请求并向客户端发送响应。使用text / html数据的GET请求和POST请求一切正常。

我遇到了使用multipart / form-data数据进行请求的问题,特别是我在$ _POST和$ _FILES全局变量中都有数据。

我应该如何使用这两个变量将请求转发给服务器?

1 个答案:

答案 0 :(得分:2)

您需要先将文件存储在服务器中,然后使用如下代码:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    $post = array(
        "file_box"=>"@/path/to/myfile.jpg",
    );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
    $response = curl_exec($ch);
?>