首先下载SDK包能够在 官网下载 ,或者在项目根目录使用composer 。php
压缩包里面有五个文件,实际运用到只有两个,而后放在extend文件目录下html
在须要使用的控制器进行引入json
//若是是用composer 引入的直接use就能够了 :
use BaiduBce\Services\Bos\BosClient;
//若是使用的压缩包:
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(); } } }
删除方法:composer
/** * 删除百度云存储文件 * @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); }
Author:XueDing_
Email:361169632@qq.com
注明出处:http://www.javashuo.com/article/p-bcnfzlrn-d.html