我正在使用 cURL 在 PHP 中开发一个小型代理。它必须接收来自客户端的 http 请求,对这些请求进行一些统计,将请求转发到 Web 服务器并将响应转发给客户端。GET 请求和带有 text/html 数据的 POST 请求一切正常。
我在使用 multipart/form-data 数据转发请求时遇到问题,特别是我在 $_POST 和 $_FILES 全局变量中都有数据。
我应该如何使用这两个变量将请求转发到服务器?
我正在使用 cURL 在 PHP 中开发一个小型代理。它必须接收来自客户端的 http 请求,对这些请求进行一些统计,将请求转发到 Web 服务器并将响应转发给客户端。GET 请求和带有 text/html 数据的 POST 请求一切正常。
我在使用 multipart/form-data 数据转发请求时遇到问题,特别是我在 $_POST 和 $_FILES 全局变量中都有数据。
我应该如何使用这两个变量将请求转发到服务器?
您需要先将文件存储在服务器中,然后使用如下代码:
<?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);
?>