еще один вопрос по PHP и нетолько

zumosis

Создал на сервере специальный файл baza.txt для записи в него данных из скрипта PHP.
Пишет что файл не доступен для записи.
Что нужно настроить?
<?php
$filename = "baza.txt";
if (is_writable($filename {....}
else {echo "Файл $filename недоступен для записи";}
?>

Olenenok

chmod u+rw baza.txt

zumosis

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

Olenenok

Чем файл создаешь? пыхпых-скриптом? Наверное, в пхп есть функция popen, выполни что-то вроде popen ("chmod u+rw baza.txt" и файл должен будет читаться и писаться

zumosis

файл, я создал вручную. а из скрипта планирую в него лишь дописывать.
этот файл лежит в той же директории что и файл с пхп скриптом.
пишу вот такой функцией:
$somecontent = "какой-то текст";
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);
но он ничего не пишет, а на проверку (is_writable($filename) дает ложь!

Olenenok

Так ты в венде это делаешь? Посмотри разрешения файла, тогда

zumosis

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

viktor954

А на чтение он доступен? попробуй из него что-нибудь прочитать...

kruzer25

у меня винда. и судя по свойствам файла - это самый обычный файлец. никаких ограницений.
а что там на серваке фиг знает.
Так где файл-то, на сервере или на твоём компе под виндой?
100% пхп выполняется не от того пользователя, который владелец файла.

Trofimovyoa

Проверь варианты:
1) в $filename неверный путь к файлу (исправить путь);
2) у процесса, который исполняет твой РНР-скрипт, нет прав на запись в этот файл (сделать chmod, как советовали).

zumosis

Я не пойму как этот chmod применять?
Там с атрибутом какая-то путаница.
вот так что ли ?
или эти 777 надо еще как-то преобразовать?
$filename = baza.txt;
$somecontent = "какой-то текст";
chmod ($filename, 777);
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);

vall

восьмерично надо писать — 0777

zumosis

а в остальном все верно?

kruzer25

Вроде бы да.
А твой 777 превращается в 01411, и на файл, видимо, накладывается 411 - что, как сам понимаешь, есть полная хуйня.
Оставить комментарий
Имя или ник:
Комментарий: