Download the PHP package dtyq/cloudfile without Composer
On this page you can find all versions of the php package dtyq/cloudfile. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package cloudfile
cloud-file
.
介绍
本 sdk 为文件服务 sdk 增强版,提供了更多的功能,更加易用。
内置阿里云、火山云、文件服务的简单调用,只需几行代码即可完成文件的上传、下载、删除等操作。
支持后端直传模式,获取临时凭证后,后端直接上传文件到云存储,减少服务器压力。
可替换的FilesystemAdapter配置,自定义更强。
抽离文件服务通用功能到包中,可不依赖文件服务即可使用。
支持的云
- 文件服务代理的 阿里云、火山云
- 阿里云
- 火山云
- MinIO(兼容 S3 协议)
重要功能
- [x] 获取临时凭证
- [x] 上传文件 - 通过临时凭证直传
- [x] 复制文件
- [x] 删除文件
- [x] 批量获取可访问链接
- [x] 获取文件元数据
注意事项
如果要使用直连的阿里云、火山云,要先安装相应的FilesystemAdapter,如
或者在 config 配置中,增加driver参数,即FilesystemAdapter,由于包之间依赖兼容性问题,可能会有bug,但目前使用文件服务服务的机会比较多,先不管这个了,有问题再改改
安装
配置
文件服务特殊性
因为要请求文件服务,是需要动态 token 和 organization-code 的,这里需要放到 options 参数中,所有文件服务的请求,都需要带上,如下
使用
获取临时凭证
上传文件 - 通过临时凭证直传
上传完成后,记得查看$uploadFile->getKey(),来获取上传后的文件实际路径(因为文件服务会拼接 组织/应用 前缀)
复制文件
删除文件
批量获取可访问链接
请求文件服务时,不检测是否存在,直接返回链接
获取文件元数据
Hyperf 快捷使用
发布配置文件
使用
Hyperf 中使用 MinIO
MinIO 直连使用说明
配置要点
MinIO 是兼容 AWS S3 协议的对象存储,但对外配置仍使用 adapter=minio。使用时需要注意:
use_path_style_endpoint必须设置为trueendpoint设置为 MinIO 服务地址(如http://localhost:9000)sts=false时,返回与file_service + platform=minio对齐的表单直传 credential,核心字段包括signature、policy、fieldssts=true时,返回与file_service + platform=minio对齐的 STS credential,核心字段包括sts_token、access_key_id、access_key_secretuploadByCredential()固定走sts=falseuploadByChunks()、appendUploadByCredential()、getPreSignedUrlByCredential()、listObjectsByCredential()等 SDK 能力固定走sts=true
基本使用示例
MinIO 与 AWS S3 的区别
- MinIO 默认使用 path-style 访问(
http://endpoint/bucket/key) - AWS S3 默认使用 virtual-hosted-style 访问(
http://bucket.endpoint/key) - 通过设置
use_path_style_endpoint => true可统一使用 path-style cloudfile对外暴露的是minio适配器,内部复用的是 S3 协议实现- 直连
minio与file_service + platform=minio共享同一套 credential 语义,避免两套接入心智
All versions of cloudfile with dependencies
league/flysystem Version ^2.0
dtyq/sdk-base Version ~0.1
guzzlehttp/guzzle Version ^6.3|^7.0
ext-json Version *
ext-fileinfo Version *
ext-curl Version *
alibabacloud/sts Version ^1.8
aliyuncs/oss-sdk-php Version ^2.7
xxtime/flysystem-aliyun-oss Version ^1.6
volcengine/ve-tos-php-sdk Version ^2.1
volcengine/volc-sdk-php Version ^1.0
league/flysystem-aws-s3-v3 Version ^3.0
aws/aws-sdk-php Version ^3.0