温馨提示×

Minio PHP如何实现文件下载

PHP
小樊
174
2024-08-13 18:15:42
栏目: 编程语言

Minio 是一个开源的分布式对象存储服务,可以用来存储大规模的文件和数据。在 PHP 中使用 Minio 实现文件下载可以通过 Minio PHP SDK 来实现。以下是一个简单的示例代码,演示如何使用 Minio PHP SDK 实现文件下载:

  1. 首先,安装 Minio PHP SDK:
composer require minio/minio
  1. 然后,编写 PHP 代码实现文件下载:
<?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 方法获取文件的流,并将文件流输出到浏览器实现文件下载。

需要注意的是,上面的代码仅是一个简单的示例,实际应用中可能需要根据具体需求进行修改和优化。

0