mathiasreker / php-chmod
php-chmod 是一个用于递归更改文件/目录权限的 PHP 库。
2.1.5
2024-01-01 14:42 UTC
Requires
- php: >=7.4
- ext-mbstring: *
- symfony/finder: ^4.4 || ^5.4 || ^6.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.28
- friendsofphp/php-cs-fixer: ^3.45
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6
README
php-chmod
是一个用于递归更改文件/目录权限的 PHP 库。
✅ 支持直接的八进制表示法(0o)
版本和依赖
要求
PHP
>= 7.4- php-extension
ext-mbstring
安装
运行
composer require mathiasreker/php-chmod
示例
试运行
<?php use MathiasReker\PhpChmod\Scanner; require __DIR__ . '/vendor/autoload.php'; $result = (new Scanner()) ->setDefaultFileMode(0644) ->setDefaultDirectoryMode(0755) ->setExcludedFileModes([0400, 0444, 0640]) ->setExcludedDirectoryModes([0750]) ->scan([__DIR__]) ->dryRun(); var_dump($result); // string[]
修复
<?php use MathiasReker\PhpChmod\Scanner; require __DIR__ . '/vendor/autoload.php'; (new Scanner()) ->setDefaultFileMode(0644) ->setDefaultDirectoryMode(0755) ->setExcludedFileModes([0400, 0444, 0640]) ->setExcludedDirectoryModes([0750]) ->scan([__DIR__]) ->fix(); // void
文档
$result = new Scanner();
setDefaultFileMode
设置默认文件权限
$result->setDefaultFileMode(0644);
setDefaultDirectoryMode
设置默认目录权限
$result->setDefaultDirectoryMode(0755);
setExcludedFileModes
设置文件的允许权限。具有这些权限的文件将被跳过
$result->setExcludedFileModes([0400, 0444, 0640]);
setExcludedDirectoryModes
设置目录的允许权限。具有这些权限的目录将被跳过
$result->setExcludedDirectoryModes([0750]);
setExcludedNames
通过自定义模式排除文件。支持 Glob 和 RegEx
$result->setExcludedNames(['*.rb', '*.py']);
setNames
通过自定义模式包括文件并排除其他文件。支持 Glob 和 RegEx
$result->setNames(['*.php']);
setExcludedPaths
排除一系列文件/目录路径
$result->setExcludedPaths(['first/dir', 'other/dir']);
doExcludeFiles
排除所有文件
$result->doExcludeFiles();
doExcludeDirectories
排除所有目录
$result->doExcludeDirectories();
scan
查找所有相关的文件/目录
$result->scan([__DIR__]);
setPaths
手动设置文件/目录的路径。如果您想使用自定义扫描器,这是扫描器的替代方案
$result->setPaths($paths);
dryRun
返回相关文件/目录的数组
$result->dryRun();
fix
将相关文件/目录的权限更改为默认权限
$result->fix();
路线图
查看开放问题以获取建议功能(和已知问题)的完整列表。
贡献
如果您有改进建议,请克隆仓库并创建一个拉取请求。您还可以通过标签 "enhancement" 打开一个问题。最后,别忘了给项目加星标!再次感谢!
Docker
如果您使用 docker,可以使用以下命令开始
docker-compose up -d
接下来,访问容器
docker exec -it php-chmod bash
工具
PHP 编码标准修复器
composer run-script cs-fix
PHP 编码标准检查器
composer run-script cs-check
PHP Stan
composer run-script phpstan
单元测试
composer run-script test
许可
它根据 MIT 许可证分发。有关更多信息,请参阅 LICENSE
。