MinIO PHP SDK 使用教程

MinIO PHP SDK 使用教程

项目地址:https://gitcode.com/gh_mirrors/mi/minio-php-sdk

1. 项目目录结构及介绍

minio-php-sdk/
├── composer.json
├── config/
│   └── minio.php
├── src/
│   ├── MinioClient.php
│   └── MinioService.php
├── tests/
│   └── MinioClientTest.php
├── vendor/
└── index.php

目录结构说明

  • composer.json: 项目的依赖管理文件,用于管理项目的依赖包。
  • config/: 配置文件目录,包含项目的配置文件。
  • src/: 源代码目录,包含项目的核心代码。
    • MinioClient.php: MinIO 客户端类,封装了与 MinIO 服务器的交互操作。
    • MinioService.php: MinIO 服务类,提供了更高层次的接口,方便业务逻辑调用。
  • tests/: 测试代码目录,包含项目的单元测试代码。
    • MinioClientTest.php: MinIO 客户端类的单元测试文件。
  • vendor/: 依赖包目录,由 Composer 自动生成,包含项目依赖的所有第三方库。
  • index.php: 项目的启动文件,用于初始化项目并提供入口。

2. 项目的启动文件介绍

index.php

<?php
require 'vendor/autoload.php';

use Minio\MinioClient;
use Minio\MinioService;

// 初始化 MinIO 客户端
$minioClient = new MinioClient([
    'endpoint' => 'http://localhost:9000',
    'key' => 'minioadmin',
    'secret' => 'minioadmin',
    'bucket' => 'mybucket'
]);

// 初始化 MinIO 服务
$minioService = new MinioService($minioClient);

// 上传文件
$minioService->uploadFile('path/to/local/file.txt', 'remote/file.txt');

// 下载文件
$minioService->downloadFile('remote/file.txt', 'path/to/local/file.txt');

// 删除文件
$minioService->deleteFile('remote/file.txt');

启动文件说明

  • require 'vendor/autoload.php': 引入 Composer 自动加载文件,确保所有依赖包可以自动加载。
  • MinioClient: 初始化 MinIO 客户端,配置 MinIO 服务器的连接信息。
  • MinioService: 初始化 MinIO 服务,提供文件上传、下载、删除等操作。
  • uploadFile: 上传本地文件到 MinIO 服务器。
  • downloadFile: 从 MinIO 服务器下载文件到本地。
  • deleteFile: 删除 MinIO 服务器上的文件。

3. 项目的配置文件介绍

config/minio.php

<?php
return [
    'endpoint' => 'http://localhost:9000',
    'key' => 'minioadmin',
    'secret' => 'minioadmin',
    'bucket' => 'mybucket'
];

配置文件说明

  • endpoint: MinIO 服务器的访问地址。
  • key: MinIO 服务器的访问密钥。
  • secret: MinIO 服务器的访问密钥。
  • bucket: 默认使用的存储桶名称。

通过配置文件,可以方便地修改 MinIO 服务器的连接信息,而无需修改代码。

minio-php-sdk minio-php-sdk 项目地址: https://gitcode.com/gh_mirrors/mi/minio-php-sdk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

### 如何在 PHP使用 MinIO 与 AWS 兼容 为了使应用程序能够利用 MinIO 的功能并与 AWS S3 进行交互,可以采用 `aws-sdk-php` 库。此库不仅提供了访问 Amazon S3 的能力,还同样适用于任何实现了 S3 API 的服务提供商,比如 MinIO。 #### 安装 aws-sdk-php 安装可以通过 Composer 来完成: ```bash composer require aws/aws-sdk-php ``` #### 初始化 SDK 和创建客户端实例 初始化 SDK 后,需设置正确的区域、端点 URL 及凭证信息以便于连接至 MinIO 实例: ```php <?php require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException; $endpoint = 'http://localhost:9000'; // 替换成实际的 MinIO endpoint $bucketName = 'my-bucket'; $key = 'your-access-key-id-here'; $secret = 'your-secret-access-key-here'; $s3Client = new S3Client([ 'version' => 'latest', 'region' => 'us-1', // 使用虚拟主机风格时可设为任意有效地区名 'endpoint' => $endpoint, 'credentials' => [ 'key' => $key, 'secret' => $secret, ], ]); ?> ``` 这段代码展示了如何配置并建立一个指向本地运行的 MinIO 服务器的 S3 客户端[^1]。 #### 创建 Bucket 接下来展示怎样创建一个新的 bucket: ```php try { $result = $s3Client->createBucket([ 'Bucket' => $bucketName, ]); } catch (S3Exception $e) { echo "There was an error creating the bucket.\n"; } ``` #### 上载对象到 Bucket 上传文件的例子如下所示: ```php try { $result = $s3Client->putObject([ 'Bucket' => $bucketName, 'Key' => 'example.txt', 'SourceFile' => '/path/to/example.txt' ]); printf("URL of the object is %s\n", $result['ObjectURL']); } catch (S3Exception $e) { echo "There was an error uploading the file.\n"; } ``` 以上操作均遵循标准的 S3 协议,因此对于 MinIO 而言也是适用的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸莹子Shelley

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值