php将服务器上的图片上传到另一台服务器上

另一台服务器上有一个上传的接口:http://www.zhiboblog.com/upload,现在我们将本服务器上的图片上传到这个接口

代码如下:

<?php
// $url是上传地址
// $post_data是上传的参数
function curl_post($url,$post_data)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    $output = curl_exec($ch);
    curl_close($ch);
    return  $output;
}

$post_data = [
  'name'  => 'xxxx',
  'file'  => new \CURLFile('绝对路径'),    //文件中使用别的路径没有办法上传成功,只有绝对路径成功
];

curl_post('http://www.zhiboblog.com/upload',$post_data);

另一台服务器上的接口代码如下(使用的是thinkphp框架):

public function upload()
{
   $file = request()->file('file');//接收传过来的文件
   $name = request()->param('name');//接收传过来的其它参数
}

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: