PHP 利用 cURL 发送文件

目录

需求背景

curl封装函数

php <= 5.5 发送文件写法

 php>5.5  / 7 发送文件方式

 参考文档


 

需求背景

公司技术架构整理,java做服务端,php做业务端.所有涉及到的非业务端接口均由java提供网关接口.

于是资源管理部分的oss 就需要用php来调用java接口.

curl封装函数

这是正常封装的post函数.php版本从5.5-7.2 版本更替时修改过一次

 0){
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        }
        $response = curl_exec($curl);
        $status   = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        curl_close($curl);
        if(!$response){
            throw new UserException("请求失败,未知错误!", $status);
        }
        if ($status == 200) {
            return $response;
        } else {
            throw new UserException("请求失败,内容:" . $response, $status);
        }
    }
?>

php <= 5.5 发送文件写法

PHP5.5 以前的发送文件的写法跟 5.5之后的写法有部分出入

 

 "@/mnt/d/home/www/business-platform/uploads/2020/01/04/timg.jpg"
);
$return = post($url,$data);// 该封装函数在 ↑↑↑↑↑↑↑↑ 上面
print_r($return);

 php>5.5  / 7 发送文件方式

php5.5之后就弃用了 @ 定位资源. 改用CURLFILE 对象 , 来封装资源

具体用法文尾付语法链接

new \CURLFILE($localPath),
];
$return = post($url,$params);// 该封装函数在 ↑↑↑↑↑↑↑↑ 上面
print_r($return);

 参考文档

  1. CURLFILE 文档参考

你可能感兴趣的:(PHP,php,curl,发送文件,yii2,laravel)