七牛 php json,七牛云的使用

参考-吕昌博客

我们可以直接进入官网的php手册

我发现看composer里面的qiniu/qiniu组建是没有用的

.env代码

QINIU_BUCKET=test

QINIU_ACCESSKEY=xxxx // AccessKey

QINIU_SECRETKEY=xxxx //SecretKey

QINIU_DOMAIN=xxxx.bkt.clouddn.com

准备部分

第一步-创建密钥AccessKey,SecretKey

首先去七牛云官网申请一个账号,然后选择个人中心->密钥管理->创建密钥

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

点击个人中心

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

个人中心页面

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

密钥管理页面

第二部 创建 BUCKET空间

首页->对象存储->创建空间

这个时候填写的的存储空间名称 就是我们所需要的QINIU_BUCKET值

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

第三部分 QINIU_DOMAIN

首页->对象存储

这个时候测试域名的那个地址,就是我们所需要的 QINIU_DOMAIN 值

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

使用部分

首先运行 composer require qiniu/php-sdk

上传大概步骤

...

$accessKey = 'Access_Key';

$secretKey = 'Secret_Key';

$auth = new Auth($accessKey, $secretKey);

// 空间名 https://developer.qiniu.io/kodo/manual/concepts

$bucket = 'Bucket_Name';

// 生成上传Token

$token = $auth->uploadToken($bucket);

// 构建 UploadManager 对象

$uploadMgr = new UploadManager();

list($ret, $error) = $upManager->put($token, 'formput', 'hello world');

...

实例代码

模板

enctype="multipart/form-data">

{{ csrf_field() }}

Filename:

// 引入

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

/**

* 一个表单提交,其中有图片上传的云存储例子.

*

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

*/

public function store(\Request $request)

{

//

$data = \Request::all();

$file = $request->file('pic') ;

if(!$file){

return back() ;

}

if(!$file->isValid()){

return back() ;

}

// 需要填写你的 Access Key 和 Secret Key

$accessKey = env('QINIU_ACCESSKEY');

$secretKey = env('QINIU_SECRETKEY');

// 构建鉴权对象

$auth = new Auth($accessKey, $secretKey);

// 要上传的空间

$bucket = env('QINIU_BUCKET');

// 生成上传 Token

$token = $auth->uploadToken($bucket);

// 要上传文件的本地路径

$filePath = $file->getRealPath();

// 上传到七牛后保存的文件名

$date = time();

$key = 'demo/'.$date.'.'.$file->getClientOriginalExtension();

// 初始化 UploadManager 对象并进行文件的上传。

$uploadMgr = new UploadManager();

// 调用 UploadManager 的 putFile 方法进行文件的上传。

list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);

if ($err !== null) {

return response()->json(['ResultData'=>'失败','info'=>'失败']);

} else {

$info = ['name'=>$data['name'],

'level'=>$data['level'],

'pic'=>$ret['key'],

'addtime'=>$date,

'status'=>'1'];

$ids = \DB::table('data_demo')->insertGetid($info);

if($ids){

return redirect('/demo');

}else{

dd('添加失败');

}

}

}

文件下载

require 'path_to_sdk/vendor/autoload.php';

// 引入鉴权类

use Qiniu\Auth;

// 需要填写你的 Access Key 和 Secret Key

$accessKey = 'Access_Key';

$secretKey = 'Secret_Key';

// 构建鉴权对象

$auth = new Auth($accessKey, $secretKey);

//baseUrl构造成私有空间的域名/key的形式

$baseUrl = 'http://domain/key';

$authUrl = $auth->privateDownloadUrl($baseUrl);

echo $authUrl;

?>

删除单个文件

public function test2()

{

$accessKey = env('QINIU_ACCESSKEY');

$secretKey = env('QINIU_SECRETKEY');

// 构建鉴权对象

$auth = new Auth($accessKey, $secretKey);

// dd($auth);

// 要上传的空间

$bucket = env('QINIU_BUCKET');

//初始化BucketManager

$bucketMgr = new BucketManager($auth);

//你要测试的空间, 并且这个key在你空间中存在

$key = 'demo/1486372794.jpg';

//删除$bucket 中的文件 $key

$err = $bucketMgr->delete($bucket, $key);

echo "\n====> delete $key : \n";

if ($err !== null) {

var_dump($err);

} else {

echo "Success!";

}

}

我们查看图片链接会发现,图片的url其实是 QINIU_DOMAIN+图片名字

图片所在位置是 首页->对象存储-> 内容管理

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

$uploadMgr->putFile($token, $key, $filePath)结果

在创建空间的时候,选择公开空间或者私有空间,我们这套代码都实用

d4a24f709e79?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值