1 先下载源码php
点击下载git
https://github.com/tencentyun/cos-php-sdk-v5/releases/download/v2.0.8/cos-sdk-v5.tar.gzgithub
有vendor文件夹的服务器
2解压后再 当前目录新建了个upload.phpcurl
3 测试可上传 文件以下post
function cos_file_upload($local_path,$server_key_name)
{
require dirname(__FILE__) . '/vendor/autoload.php';
$secretId = "111"; //"云 API 密钥 SecretId";
$secretKey = "222"; //"云 API 密钥 SecretKey";改为本身的
$region = "ap-nanjing"; //设置一个默认的存储桶地域
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
//定义数据
$upload_success = false;
$img_url = '';
$upload_msg = '';
try {
$result = $cosClient->upload(
$bucket = '1222', //请建立桶的时候 设置公共读写 改为本身的
$key = $server_key_name,
$body = fopen($local_path, 'rb')
);
// 请求成功
$data = $result->toArray() ;
if(isset($data['Location']) && isset($data['Key'])){
$img_url = $data['Location'];
$upload_success = true;
}
} catch (\Exception $e) {
// 请求失败
$upload_msg = $e->getMessage();
}
//返回信息
if($upload_success){
return array('id' => '0001','msg' => '上传成功','info'=>$img_url,'more'=>'');
}
else{
return array('id' => '0002','msg' => '上传失败','info'=>$upload_msg);//返回‘上传失败’,并返回错误信息
}
}
if($_POST) {
$local_path=$_FILES['file']['tmp_name'];//文件上传后的临时目录
$server_key_name="123.jpg";//远程服务器存储的名字
$res=cos_file_upload($local_path,$server_key_name);
var_dump($res);exit;
} else {
?>
}
?>
几个注意的地方测试
1)通过测试目前只支持https的站点上传 不是https的会报错ui
curl error 60 url
2) 桶至关于文件夹 就是把文件放到哪一个文件夹spa
桶能够设置 各类权限 设置为公有 就能够上传后 而后直接访问
3)关于API秘钥