Intereting Posts

Проблемы с записью в файл с PHP на Ubuntu

Я запускаю PHP 5.5.9 на Ubuntu 14.04. У меня возникли проблемы с записью в файл. Я чувствую, что это проблема с правами доступа к файлам, потому что я уверен, что код правильный. Пользователь, с которым я зарегистрировался, имеет права писать в папках, которые я пытаюсь записать, но я не уверен, что делает localhost. Я не уверен, что имя пользователя localhost для использования chmod . Я попытался использовать chmod 777 -R /var/www/html и скрипт по-прежнему не может записать в мою целевую папку, у которой есть путь /var/www/html/Projects/MD_ScrapingTool/files . Вот мой код:

 $file = 'filetest.txt'; if($handle = fopen($file, 'w')) { $content = "123\n456"; fwrite($handle, $content); fclose($handle); } else { echo "Could not open file for writing."; } 

После нескольких исследований я понял это. Вот решение для тех, кто имеет ту же проблему:

Поскольку localhost принадлежит к группе www-data , я просто добавил своего пользователя в эту группу.

 sudo usermod -a -G www-data my_username 

Затем я добавил папку в группу.

 sudo chgrp -R www-data /var/www 

Затем я дал права на запись в группу www-data.

 sudo chmod -R g+w /var/www 

Это работало для меня без каких-либо других проблем. Благодаря!

Вы можете убедиться, что у вас есть разрешение на папку «/ html / Projects / MD_ScrapingTool / files /» и попробуйте с абсолютным путем.

Попробуйте указать абсолютный путь и имя файла с open :

 $file = '/html/Projects/MD_ScrapingTool/files/filetest.txt'; 

Если файл не существует, fopen должен создать файл с режимом 'w' .