首先下載SDK包可以在 網址下載 ,或者在項目根目錄使用composer 。
composer require baidubce/bce-sdk-php
壓縮包里面有五個文件,實際運用到只有兩個,然后放在extend文件目錄下
在需要使用的控制器進行引入
//如果是用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 //第三方庫
上傳方法:
html' target='_blank'>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(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答