Проблема с chmode при SAFE MODE

lifer

Guest
Проблема с chmode при SAFE MODE

Есть один проект. При переезде на новый хост оказалось что там включен SAFE MODE и нужно выставлять права для файлов и директорий. Для существующих файлов я выставил права но мне нужно чтобы скрипты сами создавали файлы.
Вопрос: Как правильно в скрипте указать права для файла:
Я делал так:
PHP:
$f=fopen("db/".$name,"w");
chmod("db/".$name, 0666);
fclose($f);
Но при попытке обращения к файлу выдает ошибку:Warning: fopen(db/newfile): failed to open stream: Permission denied in /... on line 900

Права проставляет скрипт 411 а не 666 как я хотел.
В чем я ошибся?
 

Фанат

oncle terrible
Команда форума
при SAFE MODE - никак.
при ней вообще нельзя файлы создавать.
Другое дело, что у тебя там никакой моды нет - иначе бы в сообщении об ошибке тебе писало именно про нее.

А хостер с сейфмодой - лох.
Лучше от него просто свалить
 

lifer

Guest
Хм, если нету SAFE MODE то почему я не могу записать информацию в файл? Я так понял проблема в
PHP:
 chmod("db/".$name, 0666);
потому, что после создания файла права стоят 411 а не 666. В чем ошибка?
 

Фанат

oncle terrible
Команда форума
Хм, если нету SAFE MODE
так, ты можешь сначала определиться - есть, или нет?
Если ты любитель погадать на кофейной гуще и решать проблемы не те, которые есть на самом деле, а те, которые тебе кажутся, то лично у меня нет никакого желания изображать из себя гадалку.

Где ты смотрел права?
С чего ты вообще решил, что скрипт проставляет чтоо-то, если команда "проставления" стоит ПОСЛЕ того, как скрипт уже НЕ СМОГ открыть файл?
 

Alexandre

PHPПенсионер
lifer
Посмотри phpinfo() -что она говорит?
safe_mode On/Off ??

С чего ты вообще решил, что скрипт проставляет чтоо-то, если команда "проставления" стоит ПОСЛЕ того, как скрипт уже НЕ СМОГ открыть файл
Фанат прав

И вообще команда chmod имеет возвращаемое значение, которое хорошо бы проанализировать. См ман chmod
так же есть полезная функция bool chown ( string filename, mixed user), тоже используй ее
 

lifer

Guest
SAFE MODE - OFF.
Прошу прощения за дезинформацию. Далее:

С чего ты вообще решил, что скрипт проставляет чтоо-то, если команда "проставления" стоит ПОСЛЕ того, как скрипт уже НЕ СМОГ открыть файл?
Скрипт создает файл.
Дальше в этом же скрипте я записываю данные в файл. Данные записываются нормально. В этом же скрипте я ставлю chmod 777.
Но при следующей попытке открыть файл другим скриптом вылазит ошибка Permission denied, т.е. chmod не поставил те права, которые я указал. Я все правильно понимаю?
 

Фанат

oncle terrible
Команда форума
не понял.
а зачем вообще ставить какой-то чмод, если данные записываются нормально?
 

lifer

Guest
При следующем обращении к файлу данные не записываются.
 

Фанат

oncle terrible
Команда форума
Вот с этого и надо было начинать.
Это какая-то странная фантасмагория.
скорее всего, ты что-то делаешь неправильно.
То есть, тебе надо исправлять свой код, а не добавлять новый.
Ну скажи - какой смысл добавлять чмод, если "в одном скрипте" все и так работает, а "в другом" - все равно не открывает?
Ты понимаешь, что у тебя на сайте творятся чудеса?
А если чудеса, то и решать их надо не чмодом, а плясками с бубном.
 

lifer

Guest
Мда, похоже я действительно где-то тормознул. Придется подумать. Спасибо за помощь.
 
Сверху