七牛云存儲的好處我就不多說了,如何在thinkphp5框架中,正確配置和使用七牛sdk,成功的將文件或圖片上傳至七??臻g中,并獲得圖片的信息!
下面也是將我在網(wǎng)站建設中,摸索得到的成功代碼分析給大家:
前提就不多說了,起碼在七牛官網(wǎng)上得到自己的AK,SK,bucket等信息
第一步:配置
'domain' => 'https://www.example.com', //你的七牛域名,支持 http 和 https,也可以不帶協(xié)議,默認 http
'access_key' => '', //AccessKey
'secret_key' => '', //SecretKey
'bucket' => '', //Bucket名字
然后寫php文件,引入七牛的sdk
<?php
namespace app\index\controller;
use think\Config;
use think\Image;
use think\Request;
use Qiniu\Auth as Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
class Test
{
// 上傳
public function test()
{
if(request()->isPost()){
$file = request()->file('image');
// 要上傳圖片的本地路徑
$filePath = $file->getRealPath();
$ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION); //后綴
// 上傳到七牛后保存的文件名
$key =substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext;
require_once APP_PATH . '/../vendor/qiniu/autoload.php';
// 需要填寫你的 Access Key 和 Secret Key
$accessKey = config("qiniu.ACCESSKEY");
$secretKey = config("qiniu.SECRETKEY");
// 構(gòu)建鑒權(quán)對象
$auth = new Auth($accessKey, $secretKey);
// 要上傳的空間
$bucket = config("qiniu.BUCKET");
$domain = config("qiniu.DOMAINImage");
$token = $auth->uploadToken($bucket);
// 初始化 UploadManager 對象并進行文件的上傳
$uploadMgr = new UploadManager();
// 調(diào)用 UploadManager 的 putFile 方法進行文件的上傳
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
return json(["err"=>1,"msg"=>$err,"data"=>""]);die;
} else {
//返回圖片的完整URL
return json(["err"=>0,"msg"=>"上傳完成","data"=>uploadreg($domain . $ret['key'])]);die;
}
}
return view();
}
// 刪除
public function delete($name)
{
$delFileName = input("name");
if( $delFileName ==null){
echo "參數(shù)不正確";die;
}
require_once APP_PATH . '/../vendor/qiniu/autoload.php';
// 構(gòu)建鑒權(quán)對象
$auth = new Auth(config("qiniu.ACCESSKEY"),config("qiniu.SECRETKEY"));
// 配置
$config = new \Qiniu\Config();
// 管理資源
$bucketManager = new \Qiniu\Storage\BucketManager($auth, $config);
// 刪除文件操作
$res = $bucketManager->delete(config("qiniu.BUCKET"), $delFileName);
if (is_null($res)) {
// 為null成功
// return true;
echo "成功";
}else{
echo "失敗";
}
}
}
?>
我在網(wǎng)站建設中,摸索得到的成功代碼分享給大家 希望對大家有幫助
遠近互聯(lián)后端小秦整理發(fā)布,希望能對學習技術(shù)的你有所幫助
遠近互聯(lián)專業(yè)提供網(wǎng)站建設、APP開發(fā)、網(wǎng)站優(yōu)化、外貿(mào)網(wǎng)站SEO、微信運營的品牌整合營銷服務讓客戶通過網(wǎng)絡品牌建立與網(wǎng)絡傳播提高業(yè)績。






