安裝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"