www-data
group, I just added my user to that group.\n\nsudo usermod -a -G www-data my_username\n
\n\nThen, I added the folder to the group.
\n\nsudo chgrp -R www-data /var/www\n
\n\nThen, I gave write permissions to the www-data group.
\n\nsudo chmod -R g+w /var/www\n
\n\nThis worked for me without any other issue. Thanks!
\n","author":{"@type":"Person","name":"beznez"},"upvoteCount":22}}}Reputation: 1993
I am running PHP 5.5.9 on Ubuntu 14.04. I'm having trouble writing to a file. I feel like this has to be a file permissions problem because I'm pretty sure the code is correct. The user that I'm logged in as has permissions to write in the folders that I am trying to write into, but I'm not sure if the localhost does. I'm not sure what the name of the localhost user is in order to use chmod
. I tried using chmod 777 -R /var/www/html
and the script is still is not able to write to my target folder, which has the path /var/www/html/Projects/MD_ScrapingTool/files
. Here is my code:
$file = 'filetest.txt';
if($handle = fopen($file, 'w')) {
$content = "123\n456";
fwrite($handle, $content);
fclose($handle);
} else {
echo "Could not open file for writing.";
}
Upvotes: 8
Views: 13513
Reputation: 1993
After some more research, I've got it figured out. Here is the solution for anyone having the same problem:
Since localhost belongs to the www-data
group, I just added my user to that group.
sudo usermod -a -G www-data my_username
Then, I added the folder to the group.
sudo chgrp -R www-data /var/www
Then, I gave write permissions to the www-data group.
sudo chmod -R g+w /var/www
This worked for me without any other issue. Thanks!
Upvotes: 22
Reputation: 1
Try giving the absolute path and the filename with open
:
$file = '/html/Projects/MD_ScrapingTool/files/filetest.txt';
If the file does not exist, fopen
should create the file with 'w'
mode.
Upvotes: 0
Reputation: 1261
You can verify that you have the permission on the folder '/html/Projects/MD_ScrapingTool/files/' and try with an absolute path.
Upvotes: 0