php - 如何使用 php 发送多部分请求

标签 php html multipartform-data

我想知道如何从 php 发送多部分/表单数据编码的发布请求。我已经在这里找到这段代码:

$destination = "http://yourdomain.com/yoururl";



$eol = "\r\n";

$data = '';


$mime_boundary=md5(time());


$data .= '--' . $mime_boundary . $eol;

$data .= 'Content-Disposition: form-data; name="somedata"' . $eol . $eol;

$data .= "Some Data" . $eol;

$data .= '--' . $mime_boundary . $eol;

$data .= 'Content-Disposition: form-data; name="somefile"; 
filename="filename.ext"' . $eol;

$data .= 'Content-Type: text/plain' . $eol;

$data .= 'Content-Transfer-Encoding: base64' . $eol . $eol;

$data .= chunk_split(base64_encode("Some file content")) . $eol;

$data .= "--" . $mime_boundary . "--" . $eol . $eol; // finish with two 
eol's!!


$params = array('http' => array(

                  'method' => 'POST',

                  'header' => 'Content-Type: multipart/form-data; boundary=' 
. $mime_boundary . $eol,

                  'content' => $data


               ));


$ctx = stream_context_create($params);

$response = @file_get_contents($destination, FILE_TEXT, $ctx);

( http://vedovini.net/2009/08/posting-multipart-form-data-using-php/ ) 我的问题是:如何定义应发送的文件? (只是为了解释我喜欢做什么:用户上传一个带有简单 http 表单的文件,php 脚本接收它并且应该将文件“重新发送”到另一个 url)。我还必须在 json 数组中连同文件一起发送 1 个变量。

最佳答案

使用 cURL 而不是 file_get_contents,关于将它用于 multipart POST 提交有一个类似的问题 here .

关于php - 如何使用 php 发送多部分请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797740/

相关文章:

php - (php/mysql)部署到共享主机的最佳实践?

php - PHP中如何获取当前页面的url

html - jQuery 按钮 href 文本

scala - Lagom 的多部分表单错误

php - 在一行中添加一个新值,与旧值相邻,并用逗号分隔

php - 如何在数据库中存储多组值?

javascript - 按字母顺序对描述术语进行排序,并随之移动后面的 DOM 元素

html - 需要将图像放在页面中间,但文字放在后面

python - 正确格式化多部分/表单数据主体

ios - 在 Alamofire 4 中使用 SwiftyJson 为 MultipartFormData 请求创建 JSON 数据