webew
Войти » Регистрация
 
PHP

Запись в файл средствами PHP

14 октября 2009, 18:25
Автор: bur
Собственно сабж, для решения задачи мне необходимо писать в файл (или создавать новый файл в директории) средствами PHP. Для чего пользуюсь функциями file_put_contents или fwrite (fopen пытаюсь выполнить в моде 'w+'). Возникла проблема с доступом на запись. По-умолчанию на хосте файлы создаются с доступом 644 (-rw-r--r--). А т.к. PHP запускается под группой для записи требуется минимум 664 (-rw-rw-r--).
Пытаюсь выполнить chmod('имя файла', 0664) - возвращает false, то бишь сообщает о неудаче при попытке смены доступа.

Зачем мне это необходимо? Для CMS, чтобы редактировать текст файловых шаблонов из админки. Для этого файл сначала нужно прочитать (с этим проблем нет), а затем записать в него изменения. Заставлять каждого пользователя CMS расставлять атрибуты на файлы и папки руками - плохое решение.

Теперь ряд вопросов:
1) У большинства хостеров также файлы по-умолчанию в 0644, а PHP запускается под группой?
2) Как возможно решить эту проблему средствами PHP, ведь большинство CMS как-то пишут в файл не терроризируя юзеров.
Добавить комментарий
NO USERPIC

rgbeast

В сформулированном виде у проблемы нет решения. Если у группы нет прав записи, то php записать в файл не сможет.
14.10.2009, 20:30
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100