[PHP]curl上传多文件

时间:2022-10-16 21:13:39

码一下curl上传多文件的行

5.5之前版本的写法

$file = array(
'pic[0]'=>"@E:\\wwwroot\\10003\\temp_56.ini;type=text/html;filename=temp_56.ini",
'pic[1]'=>"@E:\\wwwroot\\10003\\temp_29.html;type=text/html;filename=temp_29.html"
);

5.5以上版本的写法

php 5.5 version or above
$file = array(
'pic[0]'=>new CURLFile('E:\\wwwroot\\10003\\temp_56.ini', 'text/html', 'temp_56.ini'),
'pic[1]'=>new CURLFile('E:\\wwwroot\\10003\\temp_29.html', 'text/html', 'temp_29.html')
);

合并其他的POST参数,POST出去

$data = array_merge($file, $data);
$ch   = curl_init();
curl_setopt(
$ch, CURLOPT_URL, $url);
curl_setopt(
$ch, CURLOPT_POST, true );
curl_setopt(
$ch, CURLOPT_POSTFIELDS, $data);
curl_setopt(
$ch, CURLOPT_HEADER, false);
curl_setopt(
$ch, CURLOPT_RETURNTRANSFER, true);
// curl_getinfo($ch);
$return_data = curl_exec($ch);
curl_close(
$ch);
echo $return_data;