Автор Тема: chmod  (Прочитано 2861 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xmolex

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 75
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
chmod
« : 11 Апреля 2006, 13:49:02 »
Здравствуйте. Возникла проблема. Я из скрипта получил три различных значения, три числа. (они нужны для изменения прав доступа).

Собрал в одну переменную
$temp = "0".$temp1.$temp2.$temp3;

Пытаюсь, поменять права
chmod ($temp, "test.txt");

И ничего не происходит или права меняются на совершенно левые. Я так понял, что $temp считается как строка и из-за этого глюки.

Набрал простой тестовый скриптик
#!/usr/bin/perl
use CGI qw(:all);
print header;
$q = "0666";
$w = "index.pl";
chmod($q, $w);
print "$q $w";

Когда $q = "0666"; - не работает
Когда $q = 0666; - все работает

Что можно сделать, чтобы работало, ведь данные я получаю из браузера?

Оффлайн xmolex

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 75
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
chmod
« Ответ #1 : 11 Апреля 2006, 14:13:10 »
Эх, поторопился с вопросом, сам нашел решение. Ну может кому пригодится.

Вообщем, перевел число в 10 систему счисления и все.
#!/usr/bin/perl
use CGI qw(:all);
print header;
$q = "777";
$q = oct $q;     # вот она золотая строка
$w = "index.pl";
chmod($q, $w);
print "$q $w";

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28