#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);
? И я не могу установить переменную среды операционной системы как целое число.