本方案使用AWS的S3进行上传。
一:安装sdk文件
php
composer require aws/aws-sdk-php
官方参考文档:Installing the AWS SDK for PHP Version 3 - AWS SDK for PHP
二:获取参数
1、获取 ak 、sk


2、创建存储桶


三:执行文件上传。
php
function minioUploadFiles($files){
require_once("/vendor/autoload.php");
$rand=rand(0,100000);
$name=time().$rand.'.jpg';
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'us-east-1',
'endpoint' => 'http://localhost:9000', //把localhost改为minio存储服务器的ip地址或域名,端口默认9000
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'sBAHk******49IO', //替换为自己的ak
'secret' => 'EYzOiKMdTf***********Kin3IW80uh', // 替换为自己的sk
],
]);
try{
// 发送PutObject请求并获得result对象
$insert = $s3->putObject([
'Bucket' => 'live***bucket', //替换为自己的存储桶名称
'Key' => $name,
'Body' => fopen($files['tmp_name'], 'r')
]);
$name="minio_".$name; //加minio_前缀是为了对文件名做标记,可根据自己实际情况选择保留或删除
return $name;
}catch(\Exception $e){
return false;
}
}
四:调用上传。
可以使用ajax进行上传,也可以使用form表单进行提交。