PHP 腾讯云cos使用之我见
因为某些人的原因,本文从新改名发布一遍。
原文链接:https://www.cnblogs.com/YFYQ/p/10840050.html
因项目需要,本来是需要对接阿里云oss,但因客户错误将云存储买成腾讯云cos,因此简单做了个对象上传使用
首先下载cos的sdk:
三种方式在文档上面都有介绍
SDK 安装有三种方式:Composer 方式、Phar 方式 和 源码方式。
本渣用的是最low 的源码方式
下载完成后解压放至TP5的第三方类库extend/下(感觉文件名太长本渣将解压后的sdk文件名改为了sdk):
然后说下腾讯云cos的配置参数:
其中SecretId和SecretKey参数在腾讯云-》对象存储-》秘钥管理获得
bucket 参数可直接请求接口,也可同样在腾讯云-》对象存储-》存储桶列表直接创建
return [
'QCLOUD' => [
'appId' => '******', //账户中心的 APPid
'SecretId' => '******', //开发者拥有的项目身份识别 ID
'SecretKey' => '******', //开发者拥有的项目身份密钥
'region' => 'bj', //你的Bucket所有地域 例如上海 (sh)写简称就可以
'bucket' => '******' //COS中用于存储桶名称
],
];
其中region 地区在文档上也有介绍:
以下是对应的地区简称(了解就行):
//地域缩写 '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'
最后就是简单的对象上传请求了
SDK 放在 根目录下/extend/
我的路径/extend/sdk
其中
saveName 是你文件上传的文件名称 注意路径 "/" window下的是 "\" 这样的话上传上去不会自动创建文件夹。
pathname 你要上传的本地文件地址
/**
* 腾讯云Cos -- 上传对象
*/
function qcloudCosUpload($file = '' , $info = array() , $fileInfo)
{
if( !$file || !$info ){
return json_error('缺失参数 ');
}
//引用COS sdk
\think\Loader::import('sdk.vendor.autoload');
$cosClient = new \Qcloud\Cos\Client(
array(
'region' => config('QCLOUD.region'),
'credentials' => array(
'appId' => config('QCLOUD.appId'),
'secretId' => config('QCLOUD.SecretId'),
'secretKey' => config('QCLOUD.SecretKey')
)
)
);
$file = $info['pathname'];
try {
$data = array( 'Bucket' => config('QCLOUD.bucket'), 'Key' => $info['saveName'], 'Body' => fopen($file, 'rb') );
//判断文件大小 大于5M就分块上传
$result = $cosClient->Upload( $data['Bucket'] , $data['Key'] , $data['Body'] );
if( $result ){
return $result;
}
} catch (\Exception $e) {
return json_error('上传失败 ');
}
}
至此,简单的上传对象即已完成。
感谢您的查看。
本文主要借鉴于:https://www.cnblogs.com/inkwhite/p/9057339.html
再次感谢墨白`Blog 大大的博客分享。
转载需要告知本人
2019年06月22日
PHP 腾讯云cos使用之我见的更多相关文章
- 微信小程序/网站 上传图片到腾讯云COS
COS简介: 腾讯云提供的一种对象存储服务,供开发者存储海量文件的分布式存储服务.可以将自己开发的应用的存储部分全部接入COS的存储桶中,有效减少应用服务器的带宽,请求等.个人也可以通过腾讯云账号免费 ...
- 腾讯云COS体验
其实这篇文章本来是推荐COS的,写了一半发现COS的免费额度取消了,2019年之后的开通的用户免费6个月,老用户不受影响,这还让我怎么推荐啊?!写都写了,删掉岂不是白浪费时间? 都怪你!腾讯云! 起因 ...
- 利用腾讯云COS云对象存储定时远程备份网站
版权声明:本文由张戈 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/942851001487125915 来源:腾云阁 h ...
- Nginx反向代理腾讯云COS的一个坑
版权声明:本文由黄希彤 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/668639001484812620 来源:腾云 ...
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- 搭建markdown图床-腾讯云COS
背景介绍 书写markdown笔记时,如何处理图片,实在是有些棘手的问题.每一张图都保存在当前文件夹? 每张图都自己重命名?每次上传到cnblogs博客都需要一张一张拖动?markdown已经非常成功 ...
- tp5 -- 腾讯云cos简单使用
因项目需要,本来是需要对接阿里云oss,但因客户错误将云存储买成腾讯云cos,因此简单做了个对象上传使用 首先下载cos的sdk: 三种方式在文档上面都有介绍 SDK 安装有三种方式:Composer ...
- 腾讯云COS对象存储的简单使用
叮当哥之前买了一年的腾讯云服务器,昨日偶然发现腾讯云送了叮当哥半年的cos对象存储服务器,于是就撸起袖子传了几张珍藏的高清大图上去,现将其上传的简单使用步骤总结一波(其它操作参加官方SDK文档API) ...
- 腾讯云COS对象存储
一.腾讯云COS 腾讯云对象存储 COS 是一种存储海量数据的分布式存储服务.COS 提供了多种对象的存储类型:标准存储.低频存储.归档存储. 二.为什么要使用TA 便宜: 个人用户有6个月的免费使用 ...
随机推荐
- lightoj1066【BFS】
题意: 就是按照A->B->C->D....去拿,求步数: 思路: 有一个注意点:如果碰到合法字母吃掉,再以后的某次可以重新到改点: BFS的因为标记而减少了重复位置的到达,但是按照 ...
- HDU5908【模拟】
思路: 找到约数k,然后算一下1-k区间里的数的个数. 中间交换一下就好了,然后把后面每个区间里的数减减,然后再判断一下满足不满足= = #include <bits/stdc++.h> ...
- laravel定义全局变量并输出(实例)
在config目录创建一个 bl.php ,内容如下 <?php return [ 'IND' => "1321232", 'das' => "奥术大师 ...
- mySql分组排序
mysql 排序学习---mysql 1.建表语句 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varc ...
- Java 时区(转)
http://blog.csdn.net/wangpeng047/article/details/8560690
- rn-splash-screen 启动页 ios
1.删除iOS工程文件夹下的 LaunchScreen.xib 文件 2. 3. 如果第4步不一样的样式,可以重新走这个图片的步骤就行 4.进入iOS工程的AppDelegate.m中做如下修改: ...
- CF1076D Edge Deletion
洛谷传送门 cf传送门 这道题作为div.2的D题,被我一眼秒了我觉得十分荣幸,然后就开始写,然后就写了好久. AC之后看网上的题解,发现好多最短路树的,猛然发现我写的好复杂啊,结果还看到了直接一遍d ...
- AttributeError: module 'shutil' has no attribute 'copyfileobj'
import shutil #1.copyfileobj(源文件,目标文件) 将文件内容复制到另一个文件 shutil.copyfileobj(open('config.log','r'),open( ...
- HDU 5974 A Simple Math Problem 数学题
http://acm.hdu.edu.cn/showproblem.php?pid=5974 遇到数学题真的跪.. 题目要求 X + Y = a lcm(X, Y) = b 设c = gcd(x, y ...
- centos设置ssh免密码登陆
准备工作: 1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符”#“ RSAAuthentication y ...