ThinkPHP6
如何上傳圖片七牛云,如何上傳文件到七牛云對象儲存cos,總所周知圖片是特別消耗網(wǎng)站帶寬的,個人網(wǎng)站將圖片上傳至七牛云才能顯著提升網(wǎng)站的響應速度,手把手交大家如何上配置ThinkPHP6上傳文件至七牛云.
- 準備工作
確保你已經(jīng)正確安裝了composer
包管理工具,本地ThinkPHP6.0
的項目也已經(jīng)成功搭建. - 安裝七牛云官方sdk包
利用composer
安裝七牛云官方sdk包,大家可以參考七牛云官方sdk文章,按照文檔步驟進行,首先在命令提示行打開項目根目錄,我這里以自己的博客為例,然后執(zhí)行composer require qiniu/php-sdk
等待進度條走完,七牛云官方sdk包就安裝完成啦~下圖為演示命令:
七牛云命令
安裝成功后我們就能在項目根目錄看到七牛云的包,在vendor
下可以看到七牛云的包,官方還為我們寫好了案例,大家可以參考里面的寫法~
目錄
3.準備七牛云賬號
注冊申請自己的七牛云賬號并創(chuàng)建自己的存儲空間,先去個人中心那到自己的秘鑰~位置如下如圖
image.png
個人空間大家可以創(chuàng)建自己的域名或者不手動創(chuàng)建,我這里已經(jīng)創(chuàng)建好域名了~
image.png
4.修改tp6項目根目錄下的.env文件,將我們的QINIU_ACCESS_KEY
和QINIU_SECRET_KEY
保存起來.
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = blog
USERNAME = root
PASSWORD = root
HOSTPORT = 3306
CHARSET = utf8
DEBUG = true
[LANG]
default_lang = zh-cn
[QINIU]
QINIU_ACCESS_KEY = xxxxxx改為你的
QINIU_SECRET_KEY = xxxxxx改為你的
QINIU_BUCKET = xxxxxx改為你的
QINIU_DOMAIN = xxxxxx改為你的
- 在
app\common
下新建一個公共七牛云文件上傳類
<?php
namespace app\common;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use think\facade\Env;
class Qiniu
{
public static function upload($filePath,$filename){
$filename=str_replace('\\','/',$filename);//替換\斜杠
// 需要填寫你的 Access Key 和 Secret Key
$accessKey=Env::get('qiniu.qiniu_access_key');
$secretKey=Env::get('qiniu.qiniu_secret_key');
$bucket=Env::get('qiniu.qiniu_bucket');
$domain=Env::get('qiniu.qiniu_domain');
// 構(gòu)建鑒權(quán)對象
$auth = new Auth($accessKey, $secretKey);
// 生成上傳 Token
$token = $auth->uploadToken($bucket);
// 初始化 UploadManager 對象并進行文件的上傳扶镀。
$uploadMgr = new UploadManager();
// 調(diào)用 UploadManager 的 putFile 方法進行文件的上傳蚪燕。
$res = $uploadMgr->putFile($token, $filename, $filePath);
if($res[1]==null){ //上傳成功
return $domain.$filename;
}else{//上傳失敗
return '';
}
}
}
然后我們就可以使用$url=Qiniu::upload($filePath,$filename);
傳入文件的相對路徑或絕對路徑加上文件名,在文件上傳成功后自動又將圖片上傳至七牛云~