1. 程式人生 > >tp上傳圖片到七牛雲

tp上傳圖片到七牛雲

一、新增域名

如果你有域名,新增上自己的域名,並配置CNAME。如果沒有域名,可使用體驗版30天的外鏈。

沒配置之前的:
在這裡插入圖片描述
配置之後的:
在這裡插入圖片描述

二、配置流程:

點選小鎖:
在這裡插入圖片描述
這邊有個CNAME:
在這裡插入圖片描述
複製CNAME,到自己的購買的域名服務商那兒(我在阿里雲買的):
把記錄值換成複製好的CNAME。
在這裡插入圖片描述
好了,回七牛在看,這時,域名配置已經成功了!
在這裡插入圖片描述

三、下載sdk包

下載地址(隨時間的變化地址可能會失效):
https://developer.qiniu.com/sdk#official-sdk
選擇自己所學的語言(我演示的是php):
在這裡插入圖片描述
在這裡插入圖片描述
下載好後:
在這裡插入圖片描述

四、放入tp專案資料夾裡

下載好的sdk包放入到tp專案中的extend資料夾裡,新建一個Qiniu資料夾:
在這裡插入圖片描述
控制器裡引入方法:

use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;

五、程式碼實現

控制器:

<?php
namespace app\index\controller;
use think\Controller;
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\
UploadManager
; class Index extends Controller { public function index() { if(isset($_POST['sub'])) { $accessKey ="你的七牛裡面的Ak值"; //AK值 $secretKey ="你的七牛裡面的Sk值"; //SK值 $bucket = "rocker"; //7牛空間名稱\ $auth = new Auth($accessKey
, $secretKey); $token = $auth->uploadToken($bucket); //獲取token $filePath = $_FILES['file']['tmp_name']; //獲取上傳的圖片、檔案 $filename = date("YmdHis").$_FILES["file"]["name"]; //自定義儲存在七牛的檔名 $uploadMgr = new UploadManager(); // 初始化 UploadManager 物件並進行檔案的上傳。 list($ret, $err)=$uploadMgr->putFile($token, $filename, $filePath); echo "\n====> putFile result: \n"; if ($err !== null) { var_dump($err); } else { var_dump($ret); } } else return $this->fetch('index'); } }

檢視:

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<script src="http://www.jq22.com/jquery/jquery-3.3.1.js"></script>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
<body>
<form method="post" enctype="multipart/form-data">
    <input type="file" name="file" /><br>
    <input type="submit" name="sub" value="提交" />
</form>
</body>
</html>

六、效果展示

在這裡插入圖片描述

可能會出現的情況:

可能在上傳的過程中,報函式不存在,這時你可以找到那個方法,並用include包含即可