安装filesystem
composer require hyperf/filesystem
生成filesystem配置文件 config/autoload/file.php
php bin/hyperf.php vendor:publish hyperf/filesystem
控制器 app/Controller/IndexController.php
<?php
namespace App\Controller;
use Hyperf\HttpServer\Annotation\AutoController;
use Hyperf\Di\Annotation\Inject;
use \League\Flysystem\Filesystem;
use Hyperf\View\RenderInterface;
use Hyperf\HttpServer\Contract\RequestInterface;
/**
* @AutoController();
*/
class IndexController
{
//上传文件页
public function upload(RenderInterface $render){
return $render->render('upload.tpl');
}
//本地上传文件
public function uploadFile(RequestInterface $request,Filesystem $filesystem){
// Process Upload
$file = $request->file('upload');
$stream = fopen($file->getRealPath(), 'r+');
$filesystem->writeStream(
'uploads/'.$file->getClientFilename(),
$stream
);
fclose($stream);
return [
'msg'=>上传信息,
'path'=>'uploads/'.$file->getClientFilename()
];
}
//写文件
public function writeFile(Filesystem $filesystem){
$filesystem->write('uploads/file.txt', 'contents');
}
//读文件
public function readFile(Filesystem $filesystem){
$response = $filesystem->read('uploads/file.txt');
return $response;
}
//删除文件
public function deleteFile(Filesystem $filesystem){
$filesystem->delete('uploads/file.txt');
}
}
上传文件测试
http://118.195.173.53:9501/index/upload
{"msg":"上传信息","path":"uploads\/upload.rtf"}
写文件测试
http://118.195.173.53:9501/index/writeFile
读文件测试
http://118.195.173.53:9501/index/readFile
删除文件测试
http://118.195.173.53:9501/index/deleteFile
Flysystem2.0用法
https://flysystem.thephpleague.com/v2/docs/usage/filesystem-api/
适配器
阿里云 OSS 适配器
composer require hyperf/flysystem-oss
七牛 适配器
composer require "overtrue/flysystem-qiniu:^2.0"
腾讯云 COS 适配器
composer require "overtrue/flysystem-cos:^4.0"