mathiasreker / php-chmod
php-chmod 是一个用于轻松递归更改文件/目录权限的 PHP 库。
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
示例
dry run
<?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 和正则表达式
$result->setExcludedNames(['*.rb', '*.py']);
setNames
通过自定义模式包括文件并排除任何其他文件。支持 glob 和正则表达式
$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();
路线图
查看 开放问题 获取提议的功能完整列表(以及已知问题)。
贡献
如果你有改进的建议,请分支仓库并创建一个 pull request。你还可以通过带有 "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
。