上传文件到七牛云储存【官方SDK版】 [ 2.0 版本 ]
先下载7牛官网PHP SDK
PHP SDK 下载地址把下载的文件夹怼进项目里!
在对应的Controller里面使用
public function actionUpdate() { /***7牛密钥和存储空间**/ $ak = '你的7牛ak'; $sk = '你的7牛sk'; $domain = '7牛外链默认域名'; $bucket = '7牛存储空间名字'; $key = '上传7牛时,文件的名字' /*****/ // 构建鉴权对象 $auth = new Auth($ak, $sk); // 生成上传 Token $token = $auth->uploadToken($bucket); ... //获取传过来的图片 $pic = UploadedFile::getInstance($model, 'photo'); $model->photo = 'http://' . $domain . '/' . $key; $url = [$model->photo]; //刷新7牛服务器,不刷新更新图片的时候不能即使显示,貌似7牛服务器七天后才刷新 $cdnManager = new CdnManager($auth); $cdnManager->refreshUrls($url); if (!empty($pic)) { $filePath = $pic->tempName; $uploadMgr = new UploadManager(); //更换照片,先删除服务器的照片 $config = new \Qiniu\Config(); $bucketManager = new \Qiniu\Storage\BucketManager($auth, $config); $bucketManager->delete($bucket, $key); //上传照片到7牛 $uploadMgr->putFile($token, $key, $filePath); } }
因为不是覆盖上传,所以我每次都先删除一下之前的重名文件。记得之前有个大神弄了一个YII-qiniu的封装,我用的觉好还行,就是差刷新服务器的方法,所以才自己草草的研究了一下SDK,得出来的方法仅供大家参考。毕竟本着先实现后优化的态度,后期要自己封装代码一下才行,看起来不会一大块一大块的
布衣風古 深圳
注册时间:2017-08-02
最后登录:2021-03-30
在线时长:18小时41分
最后登录:2021-03-30
在线时长:18小时41分
- 粉丝4
- 金钱1955
- 威望20
- 积分2335
共 1 条评论
看上去很棒棒!