РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
641 of 1361 menu

Метод chmod

Метод chmod класса Filesystem изменяет права доступа к файлу или директории. Первым параметром передаётся путь к файлу или директории, вторым - режим доступа, третьим - маска, которая вычитается из режима. Четвёртым параметром можно включить рекурсивное изменение прав для директории.

Синтаксис

public function chmod( string|iterable $files, int $mode, int $umask = 0000, bool $recursive = false, bool $force = false ): void

Пример

Давайте создадим файл и установим ему права 0644:

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; class FileService { public function changeMode(): void { $fs = new Filesystem(); $file = __DIR__ . '/file.txt'; $fs->dumpFile($file, 'abcde'); $fs->chmod($file, 0644); echo 'Режим доступа: ' . substr(sprintf('%o', fileperms($file)), -4); } } ?>

Результат выполнения кода:

"Режим доступа: 0644"

Пример

Давайте установим права 0755 для директории и всех вложенных файлов рекурсивно:

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; class FileService { public function changeDirMode(): void { $fs = new Filesystem(); $dir = __DIR__ . '/user'; $fs->mkdir($dir); $fs->dumpFile($dir . '/hello.txt', 'hello'); $fs->chmod($dir, 0755, 0000, true); echo 'Режим доступа: ' . substr(sprintf('%o', fileperms($dir)), -4); } } ?>

Результат выполнения кода:

"Режим доступа: 0755"

Пример

Давайте применим маску 0022, которая вычитается из указанного режима:

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; class FileService { public function changeModeWithUmask(): void { $fs = new Filesystem(); $file = __DIR__ . '/article.txt'; $fs->dumpFile($file, 'article'); $fs->chmod($file, 0777, 0022); echo 'Режим доступа: ' . substr(sprintf('%o', fileperms($file)), -4); } } ?>

Результат выполнения кода:

"Режим доступа: 0755"

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

  • класс Filesystem,
    который предоставляет методы для работы с файловой системой
  • метод chown,
    который изменяет владельца файла или директории
  • метод chgrp,
    который изменяет группу файла или директории
  • метод touch,
    который устанавливает время доступа и модификации файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить