Thinkphp5对接百度云对象存储BOS(代码示例)
内容导读
收集整理的这篇技术教程文章主要介绍了Thinkphp5对接百度云对象存储BOS(代码示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2878字,纯文字阅读大概需要5分钟。
内容图文
本篇文章给大家带来的内容是关于Thinkphp5对接百度云对象存储 BOS(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。首先下载SDK包可以在 官网下载 ,或者在项目根目录使用composer 。
composer require baidubce/bce-sdk-php
压缩包里面有五个文件,实际运用到只有两个,然后放在extend文件目录下
在需要使用的控制器进行引入
//如果是用composer 引入的直接use就可以了 :use BaiduBceServicesBosBosClient;//如果使用的压缩包:include_once './extend/BaiduBce.phar';//下面是文件结构require './extend/SampleConf.php';// 配置信息BaiduBce.phar├──src│ └── BaiduBce //composer直接下载的就是这个文件│ ├── Auth //BCE签名相关│ ├── Exception //BCE客户端的异常│ ├── Http //BCE的Http通信相关│ ├── Log //BCE日志│ ├── Services│ │ └── Bos //BOS主目录,此目录必须保留│ │ ├── BosClient.php //BOS操作类,所有操作可以通过BosClient类可以完成│ │ ├── BosOptions.php //BOS自定义配置│ │ └── CannedAcl.php //CannedAcl模块│ └── Util //BCE公用工具└──vendor //第三方库
上传方法:
public function test_upload() { error_reporting(-1); $file = request()->file('file'); if ($file) { $info = $file->move(ROOT_PATH . 'uploads'); if ($info) { $BOS_TEST_CONFIG = array( 'credentials' => array( 'accessKeyId' => 'your accessKeyId', 'secretAccessKey' => 'your aecretAccessKey', ), 'endpoint' => 'bucket域名', ); $client = new BosClient($BOS_TEST_CONFIG);//如果是有配置文件直接在配置文件里面配置信息就可以了不需要写上面的数组。 $bucketName = 'rests';//bucket名字,相当于你在bucket创建好的那个文件夹,如果没有会自动创建。 $client->putObjectFromFile($bucketName, $info->getSaveName(), 'uploads' . DS . $info->getSaveName()); //第一个参数:bucket名字、第二个参数:文件名字、第三个参数:文件路径。 // 成功上传后 获取上传信息 $data['code'] = 0; $data['msg'] = ''; $data['list'] = [ 'src' => 'cartoon/' . $info->getSaveName(), 'name' => $info->getFilename(), 'preview' => 'uploads' . DS . $info->getSaveName(), ]; //上面的返回数据是看个人项目需要的数据 $url = ROOT_PATH . 'uploads' . DS . $info->getSaveName(); unset($info);//如果不释放这个变量下面的unlink()函数会报错。 if (file_exists($url)) { unlink($url);//删除本地文件 } echo json_encode($data); } else { // 上传失败获取错误信息 echo $file->getError(); } } }
删除方法:
/** * 删除百度云存储文件 * @access public * @param string $object 文件名字 * @param string $bucket BucketName * @return false|File */ public function file_del($object, $bucket = 'test') { $BOS_TEST_CONFIG = array( 'credentials' => array( 'accessKeyId' => 'your accessKeyId', 'secretAccessKey' => 'your secretAccessKey', ), 'endpoint' => 'bucket域名', ); $client = new BosClient($BOS_TEST_CONFIG); $client->deleteObject($bucket, $object); }
以上就是Thinkphp5对接百度云对象存储 BOS(代码示例)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的Thinkphp5对接百度云对象存储BOS(代码示例)全部内容,希望文章能够帮你解决Thinkphp5对接百度云对象存储BOS(代码示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。