max-s-lab/php-local-filesystem

一个方便处理本地文件系统的包。

v1.0.0 2024-07-22 09:49 UTC

This package is auto-updated.

Last update: 2024-09-22 12:04:54 UTC


README

MaxSLab PHP Local Filesystem Library

php 7.4+ Code Coverage Badge PHPStan Level 9 Software License

安装

运行

$ 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');