Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: chmod

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Вездеход
Отправлено: 31 Мая, 2008 - 21:03:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




я канешно не претендую а звание профи и вполне может быть что я чето не догоняю...
но может мне кто нить обьеснит в чем прикол?

ситуация.

есть функция которая выставляет права CHMOD для папки

PHP:
скопировать код в буфер обмена
  1.  
  2. function chmod_for_dir ($path,$chmod)
  3.         {
  4.                 if (@chmod($path, octdec($chmod)))
  5.                 { $chmod_ok="1"; }  else { $chmod_ok=""; }
  6.                 return $chmod_ok;
  7.         }
  8.  

где
$path - путь на сервере до папки
$chmod - собсна права какие мы хотим. например 0777.
функция вернет 1 если права установлены или 0 если нет.
теперь к делу.
для установки прав мне пришлось написать вот так -
chmod($path, octdec($chmod))
потому что если написать вот так:
chmod($path, $chmod)
то получается черт знает что...
кто нибудь может обьеснить почему так происходит?
тут - http://php.su/functions/?chmod написано что нужно писать так, как у меня например не пашет...

да и еще вопрос.
как выставлять права доступа для файлов ?
пишу так - chmod("/путь/на/сервере/до/файла/файл.txt", 0755);
не пашет вапще Огорчение


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
EuGen Администратор
Отправлено: 31 Мая, 2008 - 21:24:11
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не на все файлы Вам удастся выставить разрешение (точнее, удастся только в том случае, если для такой операции у httpd хватает прав).
Кроме того, для понимания проблемы, рекомендую Вам выставить

и убрать "@" отовсюду.
Кроме того, Вы не можете устанавливать SUID, SGID и "липкие" биты.

(Отредактировано автором: 31 Мая, 2008 - 21:29:20)



-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
scuter
Отправлено: 31 Мая, 2008 - 22:18:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Вездеход пишет:
как выставлять права доступа для файлов ?
пишу так - chmod("/путь/на/сервере/до/файла/файл.txt", 0755);
не пашет вапще Огорчение

на виндовсе не будет пахать там файловая система другая,
на линуксе будет там можно поставить нужные права.
 
 Top
Вездеход
Отправлено: 01 Июня, 2008 - 00:05:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




у меня не виндоус =)

2 EuGen
попробую...

EuGen пишет:
и убрать "@" отовсюду.

это чтобы не было ниче лишнего при работе сайта. при отладке да - надо =)

EuGen пишет:
Кроме того, Вы не можете устанавливать SUID, SGID и "липкие" биты.

а поподробнее можно?


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Вездеход
Отправлено: 02 Июня, 2008 - 23:17:11
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




пробовал выставить error_reporting(2047)
и пробовал написать error_reporting(E_ALL)

все одно - нету ошибок ибо вапще ниче не пишет.
а скрипт не выполняется...
ни на файлы, ни на папки. =(
помогите плз кто знает...


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Джур
Отправлено: 02 Июня, 2008 - 23:31:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)





а зачем вы превращаете восмеричное число в десятичное? права же вроде мы в восмеричной системе выставляем... или нихт? Закатив глазки


-----
Тамбовский каджит тебе товарищ
 
 Top
01es
Отправлено: 03 Июня, 2008 - 00:14:12
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2008  
Откуда: /home


Помог: 0 раз(а)




Может проблема в владельце файла?
У меня на хостинге есть проблема с правами схожая. скриптом выставить 0666 на файлы залитые по фтп - никак, пришлось на крон это повесить дело.
 
 Top
Вездеход
Отправлено: 03 Июня, 2008 - 00:24:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




Джур пишет:
а зачем вы превращаете восмеричное число в десятичное? права же вроде мы в восмеричной системе выставляем... или нихт?


если я так не делаю у меня права кривые ставятся.
т.е. если я пишу поставить права 0777 - выставляется чтото типа 1423 (не помню точно)
а так вот почему то корректно отрабатывается...

01es пишет:
Может проблема в владельце файла?

а вот черт его знает... ошибок никаких не вылазиет - типа все отлично...

зы. я не понимаю че творится такое, но вчера эта функция ставила права только для папок - на файлах ругалась. седня часа 2 назад вапще не работала. шас ставит права и файлам и папкам.
блин. я боюсь дальше дописывать....


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
01es
Отправлено: 03 Июня, 2008 - 01:15:39
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2008  
Откуда: /home


Помог: 0 раз(а)




Делаем эксперимент
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $h = fopen("my_file.html","w");
  4. $text = "Этот текст запишем в файл.";
  5. if (fwrite($h,$text))
  6.  echo "Запись прошла успешно";
  7. else
  8. echo "Произошла ошибка при записи данных";
  9. fclose($h);
  10. ?>
  11.  
Теперь смотрим права и владельца
Цитата:
-rw-r--r-- 1 apache apache 26 Jun 3 01:05 my_file.html

Потом загружаем по фтп 1.html, и смотрим владельца
Цитата:
-rw-r--r-- 1 curs apache 598 Jun 3 01:07 1.html

Пробуем

Warning: chmod() [function.chmod]: Operation not permitted

А попробуем выставить через фтп ему 0776 или даже 0777 что будет?
и снова запускаем chmod
Warning: chmod() [function.chmod]: Operation not permitted

Кароче у залитых по фтп, и созданных скриптами файлов(и каталогов) разные владельцы...

(Отредактировано автором: 03 Июня, 2008 - 01:21:17)

 
 Top
Вездеход
Отправлено: 03 Июня, 2008 - 07:39:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




надо будет попробовать прописать кодик чтоб показали права у кого какие...
и кто владелец чтобы узнать в конце концов =)


зы.
файлы залитые на сервер через скрипт относятся к файлам созданным скриптом или к залитым по фтп?


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Джур
Отправлено: 03 Июня, 2008 - 11:43:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Вездеход пишет:
файлы залитые на сервер через скрипт относятся к файлам созданным скриптом или к залитым по фтп?

К файлам созданым скриптом.


-----
Тамбовский каджит тебе товарищ
 
 Top
Вездеход
Отправлено: 04 Июня, 2008 - 22:14:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




хм
кто нить может сказать что это такое:

функция filegroup выдает значение 5691 и на загруженных через фтп и через скрипт.
функция fileowner выдает значение 5691 на загруженных через фтп и 2000 через скрипт.

что это за значения такие кто нить знает?
(хост - мастерхост)

вопрос намбер 2
при создании папки скриптом он выставляет идентификатор владельца файла на 2000.
поэтому прописал в функции чтобы менял на 5691. написал так: chgrp('файл', 5691);
не пашет ...
обьесните плз как мне изменить идентификатор владельца файла

для эксперимента прописал chown('файл', 5691) - результат тот же =)
т.е. никакой...

(Отредактировано автором: 04 Июня, 2008 - 22:21:18)



-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
scuter
Отправлено: 04 Июня, 2008 - 22:20:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




думаю придётся тебе через FTP,
ставить права и загружать дополнительные файлы,
наверное твой хостинг настроен как то криво или специально
люди запретили менять права доступа к файлам.
(Добавление)
я имел в виду конектится скриптом по FTP к своему же сайту.
 
 Top
Вездеход
Отправлено: 04 Июня, 2008 - 22:22:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




а есибы был нормальный хост - то я прально все делаю?
или может просто в моих действиях ошипка..


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
scuter
Отправлено: 04 Июня, 2008 - 22:33:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Вездеход пишет:
а есибы был нормальный хост - то я прально все делаю?
или может просто в моих действиях ошипка..

ну судить о правильности действия можно когда видишь полностью код,
а на счёт нормального хостинга это действительно так,
иногда даже очень крупные компании имею такие настройки что поначалу удивляешься
почему у них сервак не падает, а потом видишь он действительно падает.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB