七牛云上传图片 php,ThinkPHP5.0使用七牛云上传图片

在thinkphp5框架中,正确配置和使用七牛sdk,成功的将文件或图片上传至七牛空间中,并获得图片的信息!

前提就不多说了,起码在七牛官网上得到自己的AK,SK,bucket等信息;

七牛云AK,SK,bucket的获取方法为:

1、注册个七牛云账户

2、点击个人中心》密钥管理

3、创建密钥,即可获得对应的AK、SK

4、bucket的获取为:点击对象存储》新建存储空间。创建的空间名即为bucket。

到这里,你已经获取了对应的数据信息。接下来,就是在thinkphp中进行代码的处理。

第一步:配置

把在七牛云官网下载的php-sdk整个文件夹拷贝到thinkphp5的extend目录下,并将php-sdk改名为Qiniu

config配置文件中添加AK,SK,bucket等信息'ACCESSKEY' => '*************',//你的accessKey

'SECRETKEY' => '*************',//你的secretKey

'BUCKET' => '**********',//上传的空间

'DOMAIN'=>'http://images.zyglz.com/'//空间绑定的域名

注:这里的DOMAIN为你绑定的空间域名,如果你是第一次注册,那么七牛云会提供一个测试域名(该域名的有效期为30天)。

后期需要你更换成自己的域名,关于自己域名添加为,在测试域名下方点击自定义域名,按照 对应步骤即可获得自定义长期使用的域名。

第二步:控制器use Qiniu\Auth as Auth;

use Qiniu\Storage\BucketManager;

use Qiniu\Storage\UploadManager;

第三步:方法/**

* 图片上传,ajax返回

* 七牛云存储图片

* @author

*/

public function qiniu_upload(){

//     if(request()->isPost()){

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

// 要上传图片的本地路径

$filePath = $file->getRealPath();

$ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //后缀

//获取当前控制器名称

//          $controllerName=$this->getContro();

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

$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('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) {

return ["err"=>1,"msg"=>$err,"data"=>""];

} else {

//返回图片的完整URL

return json(["err"=>0,"msg"=>"上传完成","data"=>$ret]);

}

//      }

}

以上便是完整代码,亲测有效!此时你到你的七牛云账户的对应空间,即可看到你上传的图片数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值