当前位置:网站首页>[league/flysystem]一个优雅且支持度非常高的文件操作接口
[league/flysystem]一个优雅且支持度非常高的文件操作接口
2022-08-02 03:24:00 【phpreturn】
开发的时候不免与文件系统打交道,比如对文件进行修改/新增/遍历,如果使用原生的方式,是非常痛苦的,写出的代码可读性很差.
flysystem是一个优雅的文件操作库,它能让我们操作文件时变得非常简单,不仅如此,他还是一个通用的接口,不仅支持本地的文件操作还支持其他更多的存储系统和协议,比如ftp,对象存储等.我们可以不修改任何代码,只替换驱动,就能兼容其他系统.
他官方支持的存储系统如下:
- 本地存储
- FTP存储
- 内存存储
- 亚马逊对象存储
- 谷歌云存储
- sftp
- webdav
有很多人贡献了更多的存储支持,比如阿里云,七牛云等.
基本用法
// SETUP
$adapter = new League\Flysystem\Local\LocalFilesystemAdapter($rootPath);
$filesystem = new League\Flysystem\Filesystem($adapter);
// USAGE
$filesystem->write($path, $contents);支持完善的文件操作
- write 文件写入
- writeStream 文件流写入
- read 文件读取
- readStream 文件流读取
- delete 文件删除
- deleteDirectory 目录删除
- listContents 目录遍历
支持目录的各种方法
- 过滤
- 搜索
- 排序
结尾
flysystem不仅仅是一个通用的接口,生态也非常完善,有很多框架也直接使用它作为底层的文件操作方法,毕竟修改一下配置文件就能支持更多系统的特性很有魅力.
边栏推荐
猜你喜欢
随机推荐
点名系统和数组元素为对象的排序求最大值和最小值
查询数据库中所有表的索引,并且解析成sql
广州华为面试总结
数组的高级操作
L1-039 古风排版(C)
js 取字符串中某位置某特征的值,如华为(Huawei)=>华为
每日五道面试题总结 22/7/20
--fs模块--
C语言中关于2的n次方求值问题(移位运算)
js预编译 GO 和AO
每日五道面试题总结 22/7/19
二维码生成API接口,可以直接作为A标签连接
4.14到新公司的一天
稳定好用的短连接生成平台,支持API批量生成
骨架效果 之高级渐变,适用图片等待时
---static page---
解决uni-app 打包H5网站 下载图片问题
Advanced gradient of skeleton effect, suitable for waiting for pictures
ES6介绍+定义变量+不同情况下箭头函数的this指向
docker中配置mysql 5.7



![微信小程序开发视频加载:[渲染层网络层错误] Failed to load media](/img/24/e12a1312aee28a43428b2ae0bfbe00.png)





