|
|
|
| У меня тут возникла такая проблема:
Нужно переписать файл, а при попытке переписать файл скрипт начинает ругаться и говорить типа нет прав!
В ручную права менять нельзя надо, чтобы после изменения они стали такими же какими и были!
<?
$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:18)
| | А у Вас есть права на использование chmod? У меня на хостинге например эта функция запрещена. | |
|
|
|
|
|
|
|
для: Евгений Петров
(20.01.2006 в 01:44)
| | Хм... незнаю... | |
|
|
|
|
|
|
|
для: Аня
(20.01.2006 в 02:10)
| | а кто владелец файла? наберите с консоли ls -lah і посмотрите кто владелец этого файла. | |
|
|
|
|
|
|
|
для: Аня
(20.01.2006 в 01:18)
| | >Хм... незнаю...
Создайте тестовый скрипт изменения прав. Если не изменятся – значит chmod запрещен.
Или спросите в службе поддержки.
>В ручную права менять нельзя надо, чтобы после изменения они стали такими же какими и были!
Но вручную все таки можно поменять или тоже нельзя?
А почему Вы считаете, что вам нельзя менять права вручную?
Опишу очень распространенную ситуацию.
На многих хостингах PHP подключен к Apache в виде модуля. Скрипты всех пользователей хостинга работают под пользователем, под которым запущен сам Apache.
Таким образом, все пользователи хостинга имеют равные права на все свои файлы и на файлы друг друга. По умолчанию, можно настроить права доступа так, чтобы с помощью php-скриптов их нельзя было удалять, редактировать и создавать новые файлы (это можно было бы делать только по ftp). Если функция chmod при такой ситуации запрещена, то это повышает защиту. Так как в противном случае (chmod разрешена) другие пользователи могли бы сначала с помощью chmod изменить права на Ваши файлы, а затем изменить сами файлы.
Но если Вам необходимо самой менять файлы с помощью php-скриптов, то Вы вынуждены изменить права доступа вручную, что автоматически дает аналогичные права доступа другим пользователям хостинга, которые «живут» с Вами на одном сервере.
Это глобальные настройки сервера – приходится с этим мириться. | |
|
|
|