$file_page = fopen (PATH_ROOT."/_inc/about.php", "w");
fwrite($file_page, stripslashes($_POST['about_value']));
echo '<p style="margin:20px;" class="msg">Информация успешно обновлена<br><br><span style="font-weight: normal;">Через 3 секунды произойдет возврат на главную страницу.</span></p>';
echo '<script>setTimeout(\'location.href=/_admin/\', 3000);</script>';
fclose ($file_page);
}
Помогите выявить багу...
Есть такая проблема:
Аттрибуты доступа к /_inc/about.php выставлены в 644.
Сам скрипт вот:
Код:
При использовании вылетает такая ошибка:
Warning: fopen(/sites/htdocs/_inc/about.php): failed to open stream: Permission denied in /sites/htdocs/_admin/other/aboutus.php on line 98
Warning: fwrite(): supplied argument is not a valid stream resource in /sites/htdocs/_admin/other/aboutus.php on line 99
Информация успешно обновлена
Через 3 секунды произойдет возврат на главную страницу.
Warning: fclose(): supplied argument is not a valid stream resource in /sites/htdocs/_admin/other/aboutus.php on line 102
Подскажите в каком мне направлении копать, чтобы найти эту злополучную багу! :-\
скрипт то не с консоли запускается, поставь хотябы 646
Первая ошибка вылетает, потому как нет доступа к (/sites/htdocs/_inc/about.php), а вторая это следствие первой. Т.к. ресурс не был создан, доступа к нему быть не может. Соответственно и 3-ая ошибка, нельзя закрыть НЕ открытый ресурс. Копай в сторону прав.
Пробовал выставлять права от 600 (вообще не работает) до 700 (работает, но с ошибкой...)
попробуй поставить 755)
всё равно не пашет. может ошибка в чём то другом???
=)
а ты уверен что эти функции вообще разрешены?
=)
а ты уверен что эти функции вообще разрешены?[/QUOTE]
777 выдаёт такую же ошибку.... =( функции fopen(), fwrite(), fclose() - разрешены. в других скриптах работает, а в этом нет. права доступа выставлены на всех файлах как 644
Тогда только одно - неправильный путь. Попробуй отказаться от абсолютных путей и попробуй сделать их относительными.
Всем спасибо за ответы!
все. вроде заработало! ура!!!!!!!! спасибо всем! =)))))
Ну как тебе сказать... Сессия должна стартовать ДО ЛЮБЫХ выводов в браузер. Собственно все написано в сообщении об ошибке
ты хоть напиши в чем проблема то была))
потом ставил перед fopen(), fwrite() и fclose() знак @ (at (чтобы ошибки не показывались =) )).
потом всё убрал, и всё заработало! а может быть была проблема в функции rtrim(). Хз, но как-то и сам не понял что сделал, чтобы заработало =)
Видимо подруку нужный бубен попался :D
Дело оказалось до безобразия проще. Просто товарищ по работе зашёл с домашнего компа на фтп, и подправил. Дело было в правах... только я менял в одном файле, а надо было менять во многих :) вот так и живём ;)