Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Права на файлы
 
 автор: Аня   (20.01.2006 в 01:18)   письмо автору
 
 

У меня тут возникла такая проблема:
Нужно переписать файл, а при попытке переписать файл скрипт начинает ругаться и говорить типа нет прав!
В ручную права менять нельзя надо, чтобы после изменения они стали такими же какими и были!


<?
$n_dir 
"papka1";
$r_l "papka2";

$f file("$n_dir/$r_l/data.txt");
$f[1] = "$napa=$NpswT\n";
$file fopen("$n_dir/$r_l/data.txt","w");
 foreach(
$f as $value)
 
fwrite($file,$value);
 
fclose($file);
 unset(
$f);
?>


на papka1 выставлены права 777
на papka2 выставлены права 755
на data.txt 650

Пробовала воспользоваться chmod не помогло :(

<?
$n_dir 
"papka1";
$r_l "papka2";

chmod ("$n_dir/$r_l/data.txt"0777);
$f file("$n_dir/$r_l/data.txt");
$f[1] = "$napa=$NpswT\n";
$file fopen("$n_dir/$r_l/data.txt","w");
 foreach(
$f as $value)
 
fwrite($file,$value);
 
fclose($file);
 unset(
$f);
chmod ("$n_dir/$r_l/data.txt"0650);
?>


Что я делаю не так?

   
 
 автор: Евгений Петров   (20.01.2006 в 01:44)   письмо автору
 
   для: Аня   (20.01.2006 в 01:18)
 

А у Вас есть права на использование chmod? У меня на хостинге например эта функция запрещена.

   
 
 автор: Аня   (20.01.2006 в 02:10)   письмо автору
 
   для: Евгений Петров   (20.01.2006 в 01:44)
 

Хм... незнаю...

   
 
 автор: Саша   (20.01.2006 в 11:12)   письмо автору
 
   для: Аня   (20.01.2006 в 02:10)
 

а кто владелец файла? наберите с консоли ls -lah і посмотрите кто владелец этого файла.

   
 
 автор: glsv (Дизайнер)   (21.01.2006 в 07:04)   письмо автору
 
   для: Аня   (20.01.2006 в 01:18)
 

>Хм... незнаю...
Создайте тестовый скрипт изменения прав. Если не изменятся – значит chmod запрещен.
Или спросите в службе поддержки.

>В ручную права менять нельзя надо, чтобы после изменения они стали такими же какими и были!
Но вручную все таки можно поменять или тоже нельзя?
А почему Вы считаете, что вам нельзя менять права вручную?

Опишу очень распространенную ситуацию.
На многих хостингах PHP подключен к Apache в виде модуля. Скрипты всех пользователей хостинга работают под пользователем, под которым запущен сам Apache.
Таким образом, все пользователи хостинга имеют равные права на все свои файлы и на файлы друг друга. По умолчанию, можно настроить права доступа так, чтобы с помощью php-скриптов их нельзя было удалять, редактировать и создавать новые файлы (это можно было бы делать только по ftp). Если функция chmod при такой ситуации запрещена, то это повышает защиту. Так как в противном случае (chmod разрешена) другие пользователи могли бы сначала с помощью chmod изменить права на Ваши файлы, а затем изменить сами файлы.
Но если Вам необходимо самой менять файлы с помощью php-скриптов, то Вы вынуждены изменить права доступа вручную, что автоматически дает аналогичные права доступа другим пользователям хостинга, которые «живут» с Вами на одном сервере.
Это глобальные настройки сервера – приходится с этим мириться.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования