max-s-lab / php-local-filesystem
一个方便处理本地文件系统的包。
v1.0.0
2024-07-22 09:49 UTC
Requires
- php: >=7.4
- ext-fileinfo: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.56
- phpro/grumphp: ^1.13
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6
README
MaxSLab PHP Local Filesystem Library
安装
运行
$ php composer.phar require max-s-lab/php-local-filesystem
或者添加
"max-s-lab/php-local-filesystem": "^1.0"
到你的 composer.json 文件的 require 部分。
使用方法
初始化
基本
你只需设置根目录,然后开始使用。
use MaxSLab\Filesystem\Local\LocalFilesystem;
$filesystem = new LocalFilesystem('/var/www/some-directory');
优势
你还可以为嵌套目录和文件设置默认权限。
$filesystem = new LocalFilesystem('/var/www/some-directory', [
'defaultPermissions' => [
'directory' => 0755,
'file' => 0644,
],
]);
准备完整路径
$result = $filesystem->prepareFullPath('file.txt');
$result = $filesystem->prepareFullPath('directory');
列出路径名
$result = filesystem->listPathnames('*');
更多信息,请参阅 glob。
设置权限
$filesystem->setPermissions('file.txt', 0644);
$filesystem->setPermissions('directory', 0755);
获取权限
$result = $filesystem->getPermissions('file.txt');
$result = $filesystem->getPermissions('directory');
有关返回值的更多信息,请参阅 fileperms。
检查现有方法
$result = $filesystem->fileExists('file.txt');
$result = $filesystem->directoryExists('directory');
写入文件
将内容写入文件,并创建对应的文件和目录。
$filesystem->writeToFile('file.txt', 'Test');
此方法还允许你为目录和文件设置权限。如果你没有指定,将使用默认设置。
$filesystem->writeToFile('file.txt', 'Test', [
'directoryPermissions' => 0777,
'filePermissions' => 0666,
]);
你还可以使用此方法将流写入文件。为此,只需将 'Test' 替换为流即可。
删除文件
$filesystem->deleteFile('file.txt');
复制文件
创建目录后复制文件。
$filesystem->copyFile('file.txt', 'directory/file.txt');
此方法还允许你为目录和文件设置权限。如果你没有指定,将使用默认设置。
$filesystem->copyFile('file.txt', 'directory/file.txt', [
'directoryPermissions' => 0777,
'filePermissions' => 0666,
]);
移动文件
创建目录后移动文件。
$filesystem->moveFile('file.txt', 'directory/file.txt');
此方法还允许你为目录和文件设置权限。如果你没有指定,将使用默认设置。
$filesystem->moveFile('file.txt', 'directory/file.txt', [
'directoryPermissions' => 0777,
'filePermissions' => 0666,
]);
基本读取文件
此方法将返回文件内容作为字符串。
$result = $filesystem->readFile('file.txt');
流式读取文件
此方法将返回文件内容作为流。
$result = $filesystem->readFileAsStream('file.txt');
获取文件参数
大小
此方法返回的字节文件大小。
$result = $filesystem->getFileSize('file.txt');
MIME类型
$result = $filesystem->getFileMimeType('file.txt');
最后修改时间
$result = $filesystem->getFileLastModifiedTime('file.txt');
创建目录
此方法递归地创建目录。
$filesystem->createDirectory('directory');
它还允许你为创建的目录设置权限。
$filesystem->createDirectory('directory', 0777);
删除目录
递归删除目录以及其中的文件和子目录。
$filesystem->deleteDirectory('directory');