Php chmod на папки

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

php-chmod is a PHP library for easily changing file/directory permissions recursively.

License

MathiasReker/php-chmod

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

php-chmod is a PHP library for easily changing file/directory permissions recursively.

✅ Literal octal notation (0o) is supported

composer require mathiasreker/php-chmod
 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[]
 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

setDefaultFileMode sets the default file permission:

$result->setDefaultFileMode(0644);

setDefaultDirectoryMode sets the default directory permission:

$result->setDefaultDirectoryMode(0755);

setExcludedFileModes sets the allowed permissions for files. Files with these permissions will be skipped:

$result->setExcludedFileModes([0400, 0444, 0640]);

setExcludedDirectoryModes sets the allowed permissions for directories. Directories with these permissions will be skipped:

$result->setExcludedDirectoryModes([0750]);

setExcludedNames exclude files by a custom pattern. Glob and RegEx are supported:

$result->setExcludedNames(['*.rb', '*.py']);

setNames includes files by a custom pattern and exclude any other files. Glob and RegEx are supported:

setExcludedPaths excludes a list of file/directory paths:

$result->setExcludedPaths(['first/dir', 'other/dir']);

doExcludeFiles excludes all files:

doExcludeDirectories excludes all directories:

$result->doExcludeDirectories();

scan finds all the concerned files/directories:

setPaths sets paths of files/directories manually. This is an alternative to the scanner if you want to use a custom scanner:

dryRun returns an array of the concerned files/directories:

fix changes the concerned files/directories permissions to the default permission:

See the open issues for a complete list of proposed features (and known issues).

If you have a suggestion to improve this, please fork the repo and create a pull request. You can also open an issue with the tag «enhancement». Finally, don’t forget to give the project a star! Thanks again!

If you are using docker, you can use the following command to get started:

Next, access the container:

docker exec -it php-chmod bash

PHP Coding Standards Fixer:

PHP Coding Standards Checker:

composer run-script cs-check
composer run-script phpstan

It is distributed under the MIT License. See LICENSE for more information.

About

php-chmod is a PHP library for easily changing file/directory permissions recursively.

Источник

chmod

Attempts to change the mode of the specified file to that given in permissions .

Parameters

Note that permissions is not automatically assumed to be an octal value, so to ensure the expected operation, you need to prefix permissions with a zero (0). Strings such as «g+w» will not work properly.

chmod ( «/somedir/somefile» , 755 ); // decimal; probably incorrect
chmod ( «/somedir/somefile» , «u+rwx,go+rx» ); // string; incorrect
chmod ( «/somedir/somefile» , 0755 ); // octal; correct value of mode
?>

The permissions parameter consists of three octal number components specifying access restrictions for the owner, the user group in which the owner is in, and to everybody else in this order. One component can be computed by adding up the needed permissions for that target user base. Number 1 means that you grant execute rights, number 2 means that you make the file writeable, number 4 means that you make the file readable. Add up these numbers to specify needed rights. You can also read more about modes on Unix systems with ‘man 1 chmod‘ and ‘man 2 chmod‘.

// Read and write for owner, nothing for everybody else
chmod ( «/somedir/somefile» , 0600 );

// Read and write for owner, read for everybody else
chmod ( «/somedir/somefile» , 0644 );

// Everything for owner, read and execute for others
chmod ( «/somedir/somefile» , 0755 );

// Everything for owner, read and execute for owner’s group
chmod ( «/somedir/somefile» , 0750 );
?>

Return Values

Returns true on success or false on failure.

Errors/Exceptions

Upon failure, an E_WARNING is emitted.

Notes

Note:

The current user is the user under which PHP runs. It is probably not the same user you use for normal shell or FTP access. The mode can be changed only by user who owns the file on most systems.

Note: This function will not work on remote files as the file to be examined must be accessible via the server’s filesystem.

See Also

  • chown() — Changes file owner
  • chgrp() — Changes file group
  • fileperms() — Gets file permissions
  • stat() — Gives information about a file

Источник

chmod

Осуществляет попытку изменения режима доступа указанного файла на режим, переданный в параметре mode .

Список параметров

Обратите внимание, что значение параметра mode не переводится автоматически в восьмеричную систему счисления, поэтому, чтобы удостовериться в том, что режим был установлен верно, предваряйте нулем (0) значение передаваемое в параметре mode . Строки, такие как «g+w», не будут работать должным образом.

chmod ( «/somedir/somefile» , 755 ); // десятичное, скорее всего, указано неверно
chmod ( «/somedir/somefile» , «u+rwx,go+rx» ); // строка, неверный способ
chmod ( «/somedir/somefile» , 0755 ); // восьмеричное, верный способ
?>

Значение параметра mode состоит из трех восьмеричных чисел, определяющих уровень доступа для владельца файла, для группы, в которую входит владелец, и для других пользователей, соответственно. Число, определяющее уровень пользователя, может быть вычислено путем суммирования значений, определяющих права: 1 — доступ на выполнение, 2 — доступ на запись, 4 — доступ на чтение. Сложите эти числа для указания нужного права доступа. Более подробно о системе прав в системах Unix вы можете узнать с помощью команд ‘man 1 chmod‘ и ‘man 2 chmod‘.

// Доступ на запись и чтение для владельца, нет доступа для других
chmod ( «/somedir/somefile» , 0600 );

// Доступ на запись и чтение для владельца, доступ на чтение для других
chmod ( «/somedir/somefile» , 0644 );

// Полный доступ для владельца, доступ на чтение и выполнение для других
chmod ( «/somedir/somefile» , 0755 );

// Полный доступ для владельца, доступ на чтение и выполнение для группы владельца
chmod ( «/somedir/somefile» , 0750 );
?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Текущим пользователем является пользователь, от имени которого выполняется PHP. Возможно, что это будет не тот пользователь, под именем которого вы получаете доступ к командной оболочке или учетной записи FTP. На большинстве систем режим доступа к файлу может быть изменен только его владельцем.

Замечание: Эта функция неприменима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание:

При включенном безопасный режим PHP проверяет имеет ли файл или директория, с которой вы работаете, такой же UID (id владельца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать SUID, SGID и «липкие» (sticky) биты.

Смотрите также

  • chown() — Изменяет владельца файла
  • chgrp() — Изменяет группу владельцев файла
  • fileperms() — Возвращает информацию о правах на файл
  • stat() — Возвращает информацию о файле

Источник

Читайте также:  Все инструкции в python
Оцените статью