Как написать файл с PHP в Linux? - PullRequest
2 голосов
/ 07 июня 2011

Я хочу написать текстовый файл, используя PHP.

Я могу написать это, используя функции fopen и fwrite на платформе Windows. Но эта программа не может написать ее на платформе Linux.

Есть ли решение?

Ответы [ 4 ]

6 голосов
/ 07 июня 2011

fopen и fwrite работают точно так же в Linux, но у вас там может быть проблема с разрешениями. Чтобы решить эту проблему, необходимо проверить:

  • пользователь, под которым работает PHP (в обычной установке Apache / PHP это обычно www-data)
  • права доступа и владельца каталога, в который вы пытаетесь записать

Вам нужно разрешение на запись в каталог для пользователя PHP / Apache. Самый простой (и самый грязный) способ добиться этого - просто сделать каталог доступным для записи (chmod o+w the_dir), но это крайне небезопасно, позволяя любому, у кого есть доступ к системе, хранить там вещи. Лучшее решение - либо сделать пользователя PHP владельцем каталога и указать разрешение 700 (или 755, если вы хотите, чтобы он был доступен для чтения всем пользователям), либо создать новую группу, поместить пользователя PHP и себя в эту группу, установить группа в каталоге и установите разрешение 770 (775 для удобства чтения) для каталога.

2 голосов
/ 07 июня 2011

Это должно работать, пожалуйста, проверьте разрешение пользователя на каталог и / или файл.Вы всегда можете попробовать написать эту программу в /tmp/my.log, она должна работать)

1 голос
/ 07 июня 2011

Конечно, вы можете использовать те же функции fopen и fwrite в Linux.

Единственная особенность заключается в том, что папке, в которую она записана (или, по крайней мере, сам файл), должны быть предоставлены разрешения на запись.

Простой способ проверить это - установить разрешение файла (или его папки) на 777.

0 голосов
/ 07 июня 2011

fopen и fwrite работают на обоих SO.

Возможно, вам отказано в разрешении. Попробуйте указать права на запись в вашем файле на linux.
Вы можете использовать php chmod func

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...