[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача данных для chmod через $_POST
EvPut
Есть задача, установить атрибуты файла, передав значение через POST, смысл такой:
$permission=$_POST['permission'];
chmod($fname, $permission);

Передается, к примеру: 0644. Ввиду того, что $_POST - это строка, а для chmod требуется число в восьмеричном формате, естественно правильно не работает, а если задать напрямую $permission=0644; все отлично.
decoct(octdec($_POST['permission'])) тоже не прокатывает.

Как правильно преобразовать $_POST['permission'], чтобы на выходе получить правильное восьмеричное число вида 0644 и чтобы его можно было использовать в chmod?
Заранее благодарен за ответ.

_____________
Guest
chmod($fname, (int)$permission);


книгу по пыху скачай хотя бы
EvPut
Цитата (Guest @ 17.11.2012 - 20:37)
chmod($fname, (int)$permission);


книгу по пыху скачай хотя бы


Если бы все было так просто, сделал бы сам. Так не работает.
Вариант chmod($fname, 0 . (int)$permission); тоже не работает.

_____________
rooor
может settype() прокатит?
EvPut
Цитата (rooor @ 17.11.2012 - 21:17)
может settype() прокатит?


не помогло sad.gif
$permission=$_POST['permission']; //передаем 0644
settype($permission, 'int');
$permission=0 . $permission;
echo $permission; // выводит 0644
chmod($fname, $permission); - выставляет почему то атрибут 204

$permission=0644;
chmod($fname, $permission); - все работает чeтко
Что делать, просто не знаю...

_____________
rooor
Цитата
settype($permission, 'int');
$permission=0 . $permission;

неправильно
после конкатенации он опять будет string
EvPut
Победил! user posted image

chmod($fname, octdec($permission));
или
eval("chmod($fname, $permission);");

_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.