php. mkdir(). установите $mode с начальным нулем из строковой переменной

#php

#php

Вопрос:

Хорошо, у нас есть пример в php.net:

 mkdir($structure, 0777, true);
 

Как установить 0777 целое число из переменной?

Например, у меня есть переменная окружения PERMISSIONS=0755 . И 0755 представляет собой строку. Как я вижу, нет никакого способа преобразовать строку в int с начальным нулем.

Итак, есть ли какой-нибудь способ установить разрешения из переменной?

 define('PERMISSIONS', '0755');
mkdir($structure, PERMISSIONS, true); // bad!
mkdir($structure, intval(PERMISSIONS), true); // bad too!
 

Ответ №1:

Вы хотите, чтобы функция octdec :

 $permissions = octdec($_SERVER['PERMISSONS']);
mkdir($structure, $permissions, true);
 

Ответ №2:

определите начальный набор как целое число.

 define('PERMISSIONS', 0755);
 

или

 define('PERMISSIONS', '0755');
$permission = intval(PERMISSIONS);
mkdir($structure, $permission, true);
 

Комментарии:

1. в чем разница между $permission = intval(PERMISSIONS); и mkdir($structure, intval(PERMISSIONS), true); ? И я не могу установить переменную среды операционной системы как целое число.