[toc]
## :-: **使用SDK的总思路**
~~~
/*
* 使用sdk和调微信api感觉差不多,只是不如api方便,区别也就在于前2步new对象和调方法
* 总结就是:引入类库-》new对象-》调方法-》传参数-》看结果
*
* 关键在于,
* 怎么知道引入类库中的哪个方法??
* 1、看文档; 2、看demo中的功能,人家引啥咱引啥
* 怎么知道new哪个对象??看文档demo都调哪个
* 怎么知道调哪个方法?? 一般文档的导读目录都会写吧
* 怎么知道传哪些参数?? 这是根据上下文的
* 1、如 获取存储空间的列表,一般什么都不用传,因为你操作的只是你一个账号
* 2、如 获取某个存储空间的权限,肯定要传存储空间名字。
* 怎么知道结果对不对?? 首先没报错,基本就没问题
*
*
* 然后就是new对象前 和 看结果 后加业务逻辑了
*/
~~~
## :-: **oss的一些基本概念**
![](https://box.kancloud.cn/d18fbfcdb74225e41077983aa8720c08_739x314.png)
![](https://box.kancloud.cn/24d88d0451184b708d334209f7276833_754x316.png)
![](https://box.kancloud.cn/9b446264b9fc3d26699c5546b15028f3_760x406.png)
![](https://box.kancloud.cn/36d55a3d4961621589f004cae5962040_765x405.png)
## :-: **有2种操作方式**
### :-: **第1种:在阿里云后台**
-》选![](https://box.kancloud.cn/ff27691a26d4e7e0d4fd19c21e04675c_84x28.png)
-》创建完成后
-》![](https://box.kancloud.cn/437e8c8dbdb61f0c84cab6e3be09d0bc_389x194.png)
\-》上传文件
-》![](https://box.kancloud.cn/534a85c1a2e0c737e7837c9f755a78da_704x182.png)
\-》点击图片,弹出预览框
-》![](https://box.kancloud.cn/b5ed48e4ab0fa5734a50bd7350138c9a_381x104.png)
\-》放到a标签上,就可以直接显示在你网站上了
还有添加样式(给图片打水印)等功能呢。[详情请点击](https://www.aliyun.com/product/oss?spm=a2c4g.11186623.765261.310.RszE6F)
![](https://box.kancloud.cn/d5e8ebfb0f9595a8591ae17a5e19872e_754x157.png)
>[info]第1种方法,不够灵活。每次需要换图片等资源,都需要先上传到阿里云,在拿url换到html的a标签中
### :-: **第2种:使用php的sdk**
>[info]以下皆是使用sdk的操作
**1、填写配置文件**
[点击看文档](https://help.aliyun.com/document_detail/32099.html?spm=a2c4g.11186623.6.784.mHPt4F)
![](https://box.kancloud.cn/d13433b88719ff5bfbb1559ce71466f7_1185x566.png)
![](https://box.kancloud.cn/8e7db4bd91d289af83ca632c50c4cf04_1289x362.png)
![](https://box.kancloud.cn/798e2541eb57ea16f84909a908c58aa3_1288x360.png)
**2、阿里云oss这个sdk和别的不太一样**
他这官方文档里,写的demo用的都是旧版的sdk
![](https://box.kancloud.cn/8580caa3f444470a0bb498fd23f7bfc9_747x77.png)
我下载的是2.0及以上的新版sdk,看他这文档里的demo也看不懂,就大致看吧。<span style="color:red;">看他调的是哪个方法</span>
![](https://box.kancloud.cn/1f601a8ce1e0b9595b2808ceea1be7c6_1135x648.png)
在ide(composer的sdk)中没找到,突然想起来,<span style="color:red;">文档中好像有写</span>
![](https://box.kancloud.cn/edab80f25f9f37225e354ad7296f34e1_745x518.png)
![](https://box.kancloud.cn/b600fb135161cbfe83f854793bc8a559_1125x531.png)
![](https://box.kancloud.cn/b84499174deb7732e48f47f9712481e8_1281x599.png)
第2步的接口哪来的??<span style="color:red;">多看文档(如下图)</span>
![](https://box.kancloud.cn/c9c32ab86b692ab6547598fd8b0f33b8_745x114.png)
**3、效果:**
>[info] 手是我截图是 调皮 画上去的,和上传的原图没关系
![](https://box.kancloud.cn/da137785749557ab479e2e582f52090f_1177x652.png)
![](https://box.kancloud.cn/1109a13a9f7793a0489f64302006fec9_1291x633.png)
另一种方法,获取url && 下载
![](https://box.kancloud.cn/c1b024b29db1c423dbd6bf33d4d0023b_1294x734.png)
## :-: **遇到的错误**
- 错误1:The specified bucket is not valid
原因:访问的域名不要加存储空间(bucket)的名字
- 杂谈
- 开发 & 维护的工作流程
- 新手如何看php手册 和 框架手册
- 开发 & 维护的不同点
- 从0到1,搭建新项目的工作流程
- 从1到N,维护的工作流程
- 优化流程
- 生成错误日志和慢日志的方法
- 查错思路
- 怎么快速接手一个项目
- 前端常用知识点
- javascript
- 自己封装的函数
- 处理数字
- 功能代码
- 动态添加图片
- 判断是手机端还是pc端
- javascript:;是什么意思?怎么用呢
- html & h5
- a标签中target设置为blank和_blank有什么区别?
- 乱码
- 提交方式:button标签 和 input
- 块元素
- 内联元素
- h5特有属性
- h5的localStorage【增、删、改、查】
- jquery
- 常用方法
- 功能代码
- 动态删除图片
- 一个按钮,切换2种状态
- 换肤
- 深入理解(function(){... })();
- json & xml
- json
- 语法速记
- json对象取值
- 字符串、对象、数组的区别
- xml
- [CDATA[%s]]的作用是什么
- 转义字符
- CDATA 想被xml解析的文本数据
- CDATA 不想被xml解析的文本数据
- 微信小程序
- 其他
- websocket
- 跨域
- css
- 行内 & 内连 & 外连 写法
- 优先级
- 更加精准的匹配
- 使用百分比如何生效
- php在html、js、jq中的的原生写法
- *php在html中的语法
- php在js中的语法
- php在jq中的语法
- 正则表达式
- php常用基础知识(思想为主)
- php为什么是“边编译边运行”
- 冒号、endif、endwhile、endfor使用
- 递归思想(速记法)
- cookie和session的理解
- php常用内置(系统)函数
- 常量
- 字符串
- 数组
- 日期时间
- 文件 & 目录
- 数学
- 程序执行
- 判断
- 选项和信息(修改配置文件的)
- 错误处理 & 日志记录
- 编码格式
- session
- IP相关
- 类 & 对象
- 性能
- 其他函数
- 魔术方法
- $_SERVER
- 变量处理
- php自己封装的一些函数
- 导入、导出、生成文件
- 数组
- 数字
- 字符串
- 其他
- 获取linux硬件信息
- 常见插件/类库使用
- 前端-框架/插件
- bootstrap 学习笔记
- layer 学习笔记
- layDate 学习笔记
- 百度ueditor1.4.4.3富文本编辑器
- quill富文本编辑器
- 百度ECharts图形报表
- webuploader上传图片
- 后端类库
- workerman 聊天室
- QRCODE 二维码
- redis
- seaslog 日志
- phpspider 爬虫
- Mailer 发送邮件
- simple_html_dom
- phpstorm使用
- 快捷键
- 连接mysql数据库
- 断点 + debug调试
- 运行内存不够
- wamp环境
- yii、laravel、tp、开发自己的php框架
- 看框架源码的思路
- tp5框架的使用
- 1、助手函数原理解析
- 开发自己的php框架
- 常用的开发思路 和 小功能实现代码
- 爬虫思路
- 功能点思路
- tp5判断是不是异地登录(简单版)
- 微信开发,反向代理
- 微信开发,关闭当前页面
- 消息队列的实现
- 页面静态化
- session串号
- 站内信设计思路
- web在线管理器
- 语言相关(开发有关)
- 接收json(text/xml)格式数据
- 原生文件上传(状态码)
- openssl扩展
- 打印对象 和 遍历对象
- 使用OB缓存的几个原则
- CLI模式执行php文件
- foreach时,添加元素 或 修改元素的值
- 功能点 代码实现
- 生成url目录树(没有pid)
- 多图上传(vue传base64)
- 下载文件,耗时算法
- 生成商品二维码
- 导出excel
- 搜索
- 阿里大鱼发短信
- 使用阿里云oss
- location.href跳转后,丢失用户的session
- “\r ” “\r\n” “\t”的区别
- php的配置文件详解
- 开启错误日志
- 开启慢日志
- 开启短标签
- 分析php-fpm.conf中的request_terminate_timeout参数