Minio 是一个开源的分布式对象存储服务,可以用来存储大规模的文件和数据。在 PHP 中使用 Minio 实现文件下载可以通过 Minio PHP SDK 来实现。以下是一个简单的示例代码,演示如何使用 Minio PHP SDK 实现文件下载:
composer require minio/minio
<?php
require 'vendor/autoload.php';
use Minio\MinioClient;
// 设置 Minio 服务器的连接信息
$minioClient = new MinioClient('http://minio_server_ip:9000', 'minio_access_key', 'minio_secret_key');
// 设置要下载的文件的桶名和对象名
$bucketName = 'test-bucket';
$objectName = 'test-file.txt';
// 检查文件是否存在
if ($minioClient->objectExists($bucketName, $objectName)) {
// 下载文件到本地
$fileStream = $minioClient->getObject($bucketName, $objectName);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $objectName . '"');
while (!$fileStream->eof()) {
echo $fileStream->read(1024);
}
} else {
echo 'File not found';
}
在上面的代码中,首先设置了 Minio 服务器的连接信息,然后设置了要下载的文件的桶名和对象名。接着使用 objectExists
方法检查文件是否存在,然后使用 getObject
方法获取文件的流,并将文件流输出到浏览器实现文件下载。
需要注意的是,上面的代码仅是一个简单的示例,实际应用中可能需要根据具体需求进行修改和优化。