Easy way to validate symbolic and octal modes used by unix chmod program.
In Unix and Unix-like operating systems, chmod is the command and system call which is used to change the access permissions of file system objects. It is also used to change special mode flags.
composer require phuxtil/chmod
Note: Use v1.x for compatibility with PHP v7.0+ Note: Use v2.x for compatibility with PHP v7.2+
Create new instance:
$facade = new ChmodFacade();$facade->isReadable('0755'); # true
$facade->isReadable('0334'); # true
$facade->isReadable('0333'); # false$facade->isWritable('0644'); # true
$facade->isWritable('0222'); # true
$facade->isWritable('0111'); # false$facade->isExecutable('0755'); # true
$facade->isExecutable('0644'); # false
$facade->isExecutable('0222'); # false$facade->validateByOctal('0755', 'u', 'r'); # true
$facade->validateByOctal('0755', 'u', 'x'); # true
$facade->validateByOctal('0755', 'o', 'w'); # false$facade->validateBySymbol('-rw-r--r--', 'u', 'r'); # true
$facade->validateBySymbol('-rw-r--r--', 'u', 'x'); # false
$facade->validateBySymbol('-rw-r--r--', 'o', 'r'); # true$facade->applyUid('0644'); # 4644$facade->applyGid('0644'); # 2644$facade->applyUidAndGid('0644'); # 6644print_r($facade->toArray('0775'));[
'u' => [
'r' => 'r',
'w' => 'w',
'x' => 'x',
],
'g' => [
'r' => 'r',
'w' => 'w',
'x' => 'x',
],
'o' => [
'r' => 'r',
'w' => '-',
'x' => 'x',
]
]See tests for details.