Запись в файл средствами 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 как-то пишут в файл не терроризируя юзеров.
Пытаюсь выполнить chmod('имя файла', 0664) - возвращает false, то бишь сообщает о неудаче при попытке смены доступа.
Зачем мне это необходимо? Для CMS, чтобы редактировать текст файловых шаблонов из админки. Для этого файл сначала нужно прочитать (с этим проблем нет), а затем записать в него изменения. Заставлять каждого пользователя CMS расставлять атрибуты на файлы и папки руками - плохое решение.
Теперь ряд вопросов:
1) У большинства хостеров также файлы по-умолчанию в 0644, а PHP запускается под группой?
2) Как возможно решить эту проблему средствами PHP, ведь большинство CMS как-то пишут в файл не терроризируя юзеров.