项目需要,需要将自己的图片提交的第三方图床上去,以便于节约服务器资源。这里需要使用php模拟表单使用post方式进行数据提交,具体代码如下
//$filename 文件地址全路径,我这里使用的是本地图片
function newPost($filename){
$ch = curl_init();
$curl_file = curl_file_create($filename, mime_content_type($filename), pathinfo($filename,PATHINFO_BASENAME));
//提交需要携带的数据,file对应图片资源,
$postData = [
'data' => 'yourdata',
'pload'=>$curl_file,
];
//这里是上传的地址
curl_setopt($ch, CURLOPT_URL, 'http://www.host2.com/upload.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}