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
方法獲取文件的流,并將文件流輸出到瀏覽器實現文件下載。
需要注意的是,上面的代碼僅是一個簡單的示例,實際應用中可能需要根據具體需求進行修改和優化。