decodelabs / atlas
简单的文件系统和IO函数
v0.12.0
2024-08-21 19:49 UTC
Requires
- php: ^8.1
- decodelabs/coercion: ^0.2
- decodelabs/deliverance: ^0.2.11
- decodelabs/enumerable: ^0.1.3
- decodelabs/exceptional: ^0.4
- decodelabs/glitch-support: ^0.4
- decodelabs/veneer: ^0.11.6
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-04 20:51:42 UTC
README
为PHP提供简单的文件系统和IO函数
Atlas提供了一个简单易用的接口来与文件系统交互。轻松读取、写入、复制和移动文件。
在 DecodeLabs 博客 上获取新闻和更新。
安装
通过Composer安装
composer require decodelabs/atlas
用法
导入
Atlas使用Veneer在DecodeLabs\Atlas
下提供统一的接口。您可以通过这个静态接口访问所有主要功能,而不会影响测试和依赖注入。
基本本地文件系统函数
有许多标准文件系统函数由File
或Dir
对象表示。请参阅Context.php、File/Local.php和Dir/Local.php以获取完整列表。
use DecodeLabs\Atlas; Atlas::get('/path/to/dir_or_file') ->copyTo('/another/path/'); Atlas::createDir('some/dir/path', 0770); Atlas::file('my/file') ->renameTo('file.txt') ->setOwner('user'); Atlas::gzFile('my/file.gz', 'w') ->write('hello world') ->close();
目录扫描
可选过滤条件下扫描文件夹内容。将“scan”替换为“list”将返回一个数组而不是一个Generator
use DecodeLabs\Atlas; foreach(Atlas::scan('my/dir') as $name => $fileOrDir) { // All files and dirs in my/dir } foreach(Atlas::scanDirs('my/dir') as $name => $dir) { // All dirs in my/dir } foreach(Atlas::listFilesRecursive('my/dir', function($name, $file) { // Return true if you want the file to be output return $name !== 'BadFile.php'; }) as $name => $file) { // All files in all dirs in my/dir }
请参阅Fs.php或Dir/Local.php以获取所有扫描选项。
通道与IO代理
寻找IO代理和通道传输接口?
这已经被移到了自己的项目Deliverance。
MIME类型
寻找这里曾经使用过的MIME类型检测功能?
这已经被移到了自己的项目Typify。
许可
Atlas遵循MIT许可证。有关完整的许可证文本,请参阅LICENSE。