kiwilan / php-filelist
用于递归列出文件的PHP包,可导出为JSON格式。
0.1.01
2024-08-24 14:47 UTC
Requires
- php: ^8.1
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- spatie/ray: ^1.28
This package is auto-updated.
Last update: 2024-09-23 10:22:04 UTC
README
用于递归列出文件的PHP包,可导出为JSON格式。
注意
此包的目的是提供一个简单的方法来列出目录中的文件,并提供自定义扫描的选项。但真正的功能是使用自定义的二进制文件,如果您想添加一个有趣的二进制文件,可以提交一个问题或拉取请求。
安装
您可以通过composer安装此包
composer require kiwilan/php-filelist
使用方法
$list = FileList::make('/path/to/scan')->run(); $list->getFiles(); // List of files as `string[]` $list->getSplFiles(); // List of SplFileInfo as `SplFileInfo[]` $list->getErrors(); // List of errors as `string[]|null` $list->getTimeElapsed(); // Time elapsed in seconds as `float` $list->getTotal(); // Total files as `int` $list->isSuccess(); // Success status as `bool`
选项
显示隐藏文件,默认为false
。
$list = FileList::make('/path/to/scan')->showHidden()->run();
保存为JSON。
$list = FileList::make('/path/to/scan')->saveAsJson('/path/to/json')->run();
错误时抛出异常,否则错误存储在列表中。
$list = FileList::make('/path/to/scan')->throwOnError()->run();
限制要扫描的文件数量。
$list = FileList::make('/path/to/scan')->limit(100)->run();
仅获取具有特定扩展名的文件,不区分大小写。
$list = FileList::make('/path/to/scan')->onlyExtensions(['txt', 'md'])->run();
跳过扩展名,不区分大小写。
$list = FileList::make('/path/to/scan')->skipExtensions(['txt', 'md'])->run();
跳过文件名。
$list = FileList::make('/path/to/scan')->skipFilenames(['file.txt', 'README.md'])->run();
禁用递归扫描。
$list = FileList::make('/path/to/scan')->notRecursive()->run();
禁用PHP内存限制。
$list = FileList::make('/path/to/scan')->noMemoryLimit()->run();
使用自定义二进制文件
如果您想添加新的二进制文件,可以提交一个问题或拉取请求。
find
使用find
二进制文件来列出目录中的文件,如果不在您的PATH中,可以将二进制文件的路径作为withFind()
方法的参数。
$list = FileList::make('/path/to/scan')->withFind()->run();
scout-seeker
使用scout-seeker
二进制文件来列出目录中的文件,如果不在您的PATH中,可以将二进制文件的路径作为withScoutSeeker()
方法的参数。
重要
您可以使用Cargo(Rust包管理器)安装scout-seeker
(v0.2.11 min)
cargo install scout-seeker
二进制文件scout-seeker
是一个用于列出文件的Rust CLI工具,您可以在这里找到源代码。
$list = FileList::make('/path/to/scan')->withScoutSeeker()->run();
测试
composer test
更新日志
有关最近更改的更多信息,请参阅更新日志
感谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件