123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- // +----------------------------------------------------------------------
- // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
- // +----------------------------------------------------------------------
- // | Author: 萤火科技 <admin@yiovo.com>
- // +----------------------------------------------------------------------
- declare (strict_types=1);
- namespace app\common\library\storage\engine;
- use Google\Cloud\Storage\StorageClient;
- use think\facade\Log;
- /**
- * 谷歌存储引擎 (GCS)
- * Class Google
- * @package app\common\library\storage\engine
- */
- class Google extends Basics
- {
- /**
- * 执行上传
- * @return bool
- */
- public function upload(): bool
- {
- $keyFilePath = '/etc/nginx/nginx/html/dihua-01-5690813badec.json';
- $storage = new StorageClient(['projectId' => 'dihua-01', 'keyFilePath' => $keyFilePath]);
- $bucket = $storage->bucket('freeshippingvps');
- $filePathAbsolute = public_path('uploads') . $this->getSaveFileInfo()['file_path'];
- try {
- $storageObj = $bucket->upload(
- fopen($filePathAbsolute, 'r'),
- [
- 'name' => $this->getSaveFileInfo()['file_path']
- ]
- );
- $name = $storageObj->name();
- if (empty($name)) {
- Log::error('上传文件到google云失败');
- $this->error = '上传文件到google云失败';
- return false;
- }
- } catch (\Exception $e) {
- $this->error = $e->getMessage();
- return false;
- }
- return true;
- }
- /**
- * 删除文件
- * @param string $filePath
- * @return bool
- */
- public function delete(string $filePath): bool
- {
- return true;
- }
- }
|