1. 程式人生 > >thinkphp5呼叫七牛雲SDK上傳檔案

thinkphp5呼叫七牛雲SDK上傳檔案

1.先在verdor裡新建一個資料夾: Qiniu

2.將SDK壓縮包中的檔案全部解壓到Qiniu資料夾中

3.在Controller中,引用類

vendor('Qiniu.autoload');
use Qiniu\Auth as Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
  • 1
  • 2
  • 3
  • 4

4.在config.php中新增配置

'ACCESSKEY' => '',//你的accessKey
'SECRETKEY' => '',//你的secretKey
'BUCKET' => '',//上傳的空間
'DOMAIN'
=>'',//空間繫結的域名
  • 1
  • 2
  • 3
  • 4

5.上傳操作的函式

$file = request()->file('image');
// 要上傳圖片的本地路徑
$filePath = $file->getRealPath();
$ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //字尾
//獲取當前控制器名稱
$controllerName = 'index';
// 上傳到七牛後儲存的檔名
$key =substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0
, 9999) . '.' . $ext; // 需要填寫你的 Access Key 和 Secret Key $accessKey = config('ACCESSKEY'); $secretKey = config('SECRETKEY'); // 構建鑑權物件 $auth = new Auth($accessKey, $secretKey); // 要上傳的空間 $bucket = config('BUCKET'); $domain = config('DOMAINImage'); $token = $auth->uploadToken($bucket); // 初始化 UploadManager 物件並進行檔案的上傳
$uploadMgr = new UploadManager(); // 呼叫 UploadManager 的 putFile 方法進行檔案的上傳 list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); if ($err !== null) { echo ["err"=>1,"msg"=>$err,"data"=>""]; } else { //返回圖片的完整URL var_dump($ret); }