jerray/qcloud-cos-php-sdk
Composer 安装命令:
composer require jerray/qcloud-cos-php-sdk
包简介
Tencentyun COS PHP SDK
关键字:
README 文档
README
腾讯云对象存储服务 COS PHP SDK
安装
composer require jerray/qcloud-cos-php-sdk
使用方法
创建客户端实例
创建SDK客户端实例。$options中的参数请到腾讯云对象存储的密钥管理页面获取。
$options = [ 'appId' => 'Your app id', 'secretId' => 'Your secret id', 'secretKey' => 'Your secret key', ]; $cos = new jerray\QCloudCos\QCloudCos($options);
各接口返回结果详情参见腾讯云对象存储服务 RESTful API文档
文件操作
完整上传
$localFilePath = '/path/to/a/local/file'; $bucketName = 'bucket'; $cosFilePath = '/remote/file/path'; $bizAttr = 'File attributes'; try { $response = $cos->upload($localFilePath, $bucketName, $cosFilePath, $bizAttr); $code = $response->code; $fileUrl = $response->data->access_url; } catch (jerray\QCloudCos\Exceptions\RequestException $e) { $response = $e->getBody(); $httpMessage = $e->getMessage(); $httpCode = $e->getCode(); } catch (Exception $e) { // ... }
分片上传(超过一定大小的文件需要使用分片上传)
// response为最后一片的响应,与完整上传结构相同 $response = $cos->uploadSlice($localFilePath, $bucketName, $cosFilePath, $bizAttr);
查询文件
$response = $cos->queryFile($bucketName, $cosFilePath);
更新文件bizAttr
$response = $cos->updateFile($bucketName, $cosFilePath, $bizAttr);
删除文件
$response = $cos->deleteFile($bucketName, $cosFilePath);
下载文件
$result = $cos->downloadFile($bucketName, $cosFilePath, $localFilePath);
目录操作
创建目录
$response = $cos->createFolder($bucketName, 'test/');
目录列表
$limit = 20; // 每页列表数量 $pattern = 'both'; // 显示所有文件和目录 file - 只显示文件;foler - 只显示目录 // direction参数需要配合context参数使用 // context为空时始终取第一页,第一页返回的数据中会含有context参数 // 将此context值传入再次调用,即取到第二页 // direction用来控制翻页方向,next下一页,prev前一页 $context = ''; $direction = 'next'; // 取到第一页 返回当前context为第一页 $response = $cos->listFolder($bucketName, 'test/', $limit, $pattern, $context, $direction); // next 向后翻页,取到第二页,返回当前context为第二页 $response = $cos->listFolder($bucketName, 'test/', $limit, $pattern, $response->data->context, 'next'); // prev 向前翻页,取到第一页,返回当前context为第一页 $response = $cos->listFolder($bucketName, 'test/', $limit, $pattern, $response->data->context, 'prev');
更新目录bizAttr
$response = $cos->updateFolder($bucketName, 'test/');
目录查询
$response = $cos->queryFolder($bucketName, 'test/');
删除目录
注意:目录不为空时会删除失败并抛出 jerray\QCloudCos\Exceptions\ClientException 异常
$response = $cos->deleteFolder($bucketName, 'test/');
Exceptions
接口请求异常
接口返回4xx错误时,抛出 jerray\QCloudCos\Exceptions\ClientException。
返回5xx错误时, 抛出 jerray\QCloudCos\Exceptions\ServerException。
这两个异常均继承自 jerray\QCloudCos\Exceptions\RequestException。
运行时异常
涉及到本地文件读取的接口,如果本地文件不存在或读取失败,会抛出 jerray\QCloudCos\Exceptions\FileNotFoundException。
创建实例时,如果传入的自定义存储(参数store,可选参数)没有实现 jerray\QCloudCos\Contracts\Store 接口,
抛出 jerray\QCloudCos\Exceptions\InvalidStoreInstance 。
这两个异常均继承自 jerray\QCloudCos\Exceptions\RuntimeException。
License
MIT
jerray/qcloud-cos-php-sdk 适用场景与选型建议
jerray/qcloud-cos-php-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 85 次下载、GitHub Stars 达 10, 最近一次更新时间为 2016 年 04 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「sdk」 「tencentyun」 「qcloud」 「cos」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jerray/qcloud-cos-php-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jerray/qcloud-cos-php-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jerray/qcloud-cos-php-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
php sdk for qcloudapi
Flysystem Adapter for Tencent Qcloud COS SDK V4
The qcloud extension for the yii framework
qclouds api
php sdk for app.qcloud.com image service
php sdk for www.qcloud.com cos service
统计信息
- 总下载量: 85
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-04-07