Thinkphp5上傳檔案至七牛雲
1.下載七牛雲的介面檔案
使用tp去上傳檔案至七牛雲,首先需要使用七牛雲提供的php的sdk ,有兩種方式
1.直接去七牛雲的官網下載
傳送門 https://developer.qiniu.com/kodo/sdk/1241/php
2.下載composer,使用這個包管理工具進行下載(推薦)
這個比較簡單,先去官網下載安裝包即可 ,傳送門
https://getcomposer.org/download/
安裝網上教程很多坑,按照這個大神的就ok了 傳送門 https://www.1949idc.com/shownews580.html
安裝完畢後就可以一行命令安裝了七牛雲的sdk
官網傳送門如下 http://www.thinkphp.cn/topic/57473.html
2.去七牛雲去配置相關儲存空間
傳送門 https://jingyan.baidu.com/article/0bc808fc267b8f1bd485b93b.html
注意,你要得到4個引數才能使用php去連結七牛雲的伺服器
AccessKey / SecretKey
這兩個去 個人面板>金鑰管理中可以找到
bucket
就是你新建的儲存空間的名字
domain
就是你最後生成的公網地址的字首,就是你的外鏈預設域名
坑坑坑
重要的事情說三遍,這裡有個大坑,因為你的七牛雲可能會有兩套金鑰,一定要兩套金鑰都試一遍!!!
3.在控制器內引用依賴檔案
require_once APP_PATH . ‘…/vendor/qiniu/php-sdk/autoload.php’;
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
use Qiniu;
4.編寫檔案上傳程式碼
public function up_load($file)
{
//接受參 數
$filePath = $file->getRealPath();
file->getInfo(‘name’), PATHINFO_EXTENSION);
//獲取當前控制器名稱
$controllerName = ‘index’;
// 上傳到七牛後儲存的檔名
file->getRealPath()) , 0, 5). rand(0, 9999) . ‘.’ . $ext;
// 需要填寫你的 Access Key 和 Secret Key
$accessKey = ‘你的ac’;
$secretKey = ‘你的sc’;
// 構建鑑權物件
accessKey, $secretKey);
// 要上傳的空間
$bucket = '你的’物件儲存空間名;
$domain = ‘你的預設連結地址’;
$token = bucket);
// 初始化 UploadManager 物件並進行檔案的上傳
ret, $err) = token, $key, err !== null) {
return false;
} else {
//返回圖片的完整URL
ret[‘key’]);
return $ret[‘key’];
}
}