yiisoft / files
文件和目录管理助手
Requires
- php: ^8.0
- yiisoft/strings: ^2.0
Requires (Dev)
- ext-zlib: *
- phpunit/phpunit: ^9.5
- roave/infection-static-analysis-plugin: ^1.18
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.22
This package is auto-updated.
Last update: 2024-09-07 15:28:16 UTC
README
Yii 文件
该包提供管理文件和目录的有用方法。
要求
- PHP 8.0 或更高版本。
安装
可以使用 Composer 安装此包。
composer require yiisoft/files
FileHelper 使用
FileHelper 提供静态方法,可用于各种文件系统相关操作。
目录操作
确保目录存在
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; FileHelper::ensureDirectory($directory);
确保目录存在,并设置了指定的权限
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; FileHelper::ensureDirectory($directory, 0775);
删除目录
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; FileHelper::removeDirectory($directory);
删除目录内的所有内容,但不删除目录本身
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; FileHelper::clearDirectory($directory, [ 'traverseSymlinks' => false, 'filter' => (new PathMatcher()) ->only('**.png', '**.jpg') ->except('**/logo.png'), ]);
检查目录是否为空
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; FileHelper::isEmptyDirectory($directory);
复制目录
use \Yiisoft\Files\FileHelper; $source = '/path/to/source'; $destination = '/path/to/destination'; FileHelper::copyDirectory($source, $destination);
可以作为第三个参数指定额外的选项,例如 filter
或 copyEmptyDirectories
。请检查方法的 phpdoc 以获取完整的选项列表。
复制文件
use \Yiisoft\Files\FileHelper; $source = '/path/to/file'; $destination = '/path/to/destination'; FileHelper::copyFile($source, $destination);
可以作为第三个参数指定额外的选项,例如 beforeCopy
或 afterCopy
。请检查方法的 phpdoc 以获取完整的选项列表。
搜索
搜索文件
use \Yiisoft\Files\FileHelper; use Yiisoft\Files\PathMatcher\PathMatcher; $files = FileHelper::findFiles('/path/to/where/to/search', [ 'filter' => (new PathMatcher()) ->only('**.png', '**.jpg') ->except('**/logo.png'), ]);
搜索目录
use \Yiisoft\Files\FileHelper; use Yiisoft\Files\PathMatcher\PathMatcher; $directories = FileHelper::findDirectories('/path/to/where/to/search', [ 'filter' => (new PathMatcher())->except('**meta'), ]);
路径匹配器
可以通过方法的 options
参数中的 filter
键传递 PathMatcherInterface
。两者 PathMatcher
和 CompositeMatcher
都实现了 PathMatcherInterface
。 CompositeMatcher
允许按顺序使用一组 PathMatcherInterface
。
模式匹配基于 yiisoft/strings
包 和其自述文件中的描述。
其他
打开文件。与 PHP 的 fopen()
相同,但会抛出异常。
use \Yiisoft\Files\FileHelper; $handler = FileHelper::openFile('/path/to/file', 'rb');
获取目录或文件的最后修改时间
use \Yiisoft\Files\FileHelper; $directory = '/path/to/dir'; $time = FileHelper::lastModifiedTime($directory);
此方法与 PHP 的 filemtime()
不同,因为它实际上会扫描目录并从所有文件中选择最大的修改时间。
删除文件或符号链接
use \Yiisoft\Files\FileHelper; $file = '/path/to/file.txt'; FileHelper::unlink($file);
规范化路径
use \Yiisoft\Files\FileHelper; $path = '/home/samdark/./test/..///dev\yii/'; echo FileHelper::normalizePath($path); // outputs: // /home/samdark/dev/yii
文档
如果您需要帮助或有问题,Yii 论坛 是一个好地方。您还可以查看其他 Yii 社区资源。
许可
Yii 文件是自由软件。它根据 BSD 许可证发布。有关更多信息,请参阅 LICENSE
。
由 Yii 软件 维护。