tp5 接入腾讯对象存储COS

2018-06-22 05:39:45来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

以前写过一个接入阿里的OSS对象存储的,现在又简单写了个 腾讯COS对象存储。

这里只有COS使用方式,如果对接TP上传 可以去参考 :http://www.cnblogs.com/inkwhite/p/8582077.html 

 

SDK 获取

1. GitHub

#在GitHub中获取代码
https://github.com/tencentyun/cos-php-sdk-v5


腾讯的参数比阿里的参数要多

 

appId  账户中心的 APPid

SecretId 开发者拥有的项目身份识别 ID,用以身份认证
secretKey 开发者拥有的项目身份密钥
region 你的Bucket所有地域 例如上海 (sh)写简称就可以
bucket  COS中用于存储数据的容器
Key  你文件上传的文件名称  (例:20180818/xxx.jpg)  注意路径 "/" window下的是 "\" 这样的话上传上去不会自动创建文件夹。
file 你要上传的本地文件地址
请求错误码:https://cloud.tencent.com/document/product/436/7730
'cn-east'=>'ap-shanghai',
'cn-sorth'=>'ap-guangzhou',
'cn-north'=>'ap-beijing-1',
'cn-south-2'=>'ap-guangzhou-2',
'cn-southwest'=>'ap-chengdu',
'sg'=>'ap-singapore',
'tj'=>'ap-beijing-1',
'bj'=>'ap-beijing',
'sh'=>'ap-shanghai',
'gz'=>'ap-guangzhou',
'cd'=>'ap-chengdu',
'sgp'=>'ap-singapore'

 

 

/**
     * 腾讯对象存储-文件上传
     * @datatime 2018/05/17 09:20
     * @author lgp
     */
    public function qcloudCosUpload( $file = '' , $info = array() , $fileInfo  ){
        if( !$file  || !$info ){
            return '缺少参数';
        }
        //引用COS sdk
        \think\Loader::import('qcloud.cos-sdk-v5.cos-autoloader'); 
        $cosClient = new \Qcloud\Cos\Client(
            array(
                'region'      => config('QCLOUD_COS.region'),
                'credentials' => array(
                    'appId'     => config('QCLOUD_COS.appId'),
                    'secretId'  => config('QCLOUD_COS.SecretId'),
                    'secretKey' => config('QCLOUD_COS.SecretKey')
                )
            )
        );
        $file = $info['pathname'];
        try {
            $data = array( 'Bucket' => config('QCLOUD_COS.bucket'), 'Key'  => $info['saveName'], 'Body' => fopen($file, 'rb') );
            //判断文件大小 大于5M就分块上传
            $result = $cosClient->Upload( $data['Bucket'] , $data['Key'] , $data['Body']  );

            //上传成功,自己编码
            if( $result ){
                if( config('QCLOUD_COS.unlink_file') == 1){
                    //是否删除本地
                    //unlink($file);
                }
                return 'ok';
            }
        } catch (\Exception $e) {
            echo "$e\n";die;
            return '上传失败';
        }

    }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:php设置文件类型content-type

下一篇:记遇到的一个php坑