200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 七牛云上传图片 php ThinkPHP5.0使用七牛云上传图片

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

时间:2022-12-11 23:59:26

相关推荐

七牛云上传图片 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'=>'/'//空间绑定的域名

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

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

第二步:控制器useQiniu\AuthasAuth;

useQiniu\Storage\BucketManager;

useQiniu\Storage\UploadManager;

第三步:方法/**

*图片上传,ajax返回

*七牛云存储图片

*@author

*/

publicfunctionqiniu_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_onceAPP_PATH.'/../vendor/qiniu/autoload.php';

//需要填写你的AccessKey和SecretKey

$accessKey=config('ACCESSKEY');

$secretKey=config('SECRETKEY');

//构建鉴权对象

$auth=newAuth($accessKey,$secretKey);

//要上传的空间

$bucket=config('BUCKET');

$domain=config('DOMAINImage');

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

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

$uploadMgr=newUploadManager();

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

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

if($err!==null){

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

}else{

//返回图片的完整URL

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

}

//}

}

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。