php mkdir передает права доступа из строки - PullRequest
0 голосов
/ 02 марта 2019

Я использую mkdir() для назначения прав доступа к каталогу.Но я не могу передать права доступа к файлам путем жесткого их кодирования.Вместо этого я беру права доступа к файлу из файла конфигурации и значение, возвращаемое функцией, которая читает этот файл, в строковом формате.Я знаю, что если передать 0755 в виде строки, он не будет рассматриваться как восьмеричное число.

Так что я делаю это как

mkdir($dirPath, (int)base_convert(env("FILE_ACCESS", "0766"), 8, 10), true);

Функция env возвращает значение, сохраненное в конфигурациифайл.Однако, если в файле конфигурации не определены разрешения, он просто возвращает строку "0766".

Но для каталога устанавливаются разрешения 0744.

1 Ответ

0 голосов
/ 02 марта 2019
$originalUmask = umask(0); // sets umask to 0 and return original

// do your mkdir here

umask($originalUmask); // back to safe again ;)
...