Reputation: 1972
I am creating a new file using fopen.
$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');
Then I check if the file has been created using: file_exists()
function.
The problem is: The file is being created with some owner, probably the folder name, but its not me. Also the permissions of the file is only readable by the owner
.
And since I am not the owner, I can't read the file, or change the permissions.
But If attempt to change it using:
chown($filename, 'myusername');
chmod($filename, 777);
I tried changing the file owner and permissions using the Terminal using sudo
. That worked properly.
So I also tried using the functions above with shell_exec()
so it runs in root.
But had no luck.
Although, I don't have much experience with file permission numbers, the chown command is also not working.
So how should I change the owner and permissions of the file so i'm the owner and its readable and writable by my other PHP scripts?
Upvotes: 14
Views: 40053
Reputation: 5701
You should be able to chmod it using only the following line:
chmod($filename, 0777);
Note the 0 before the 777.
Also do not change the ownership before it has been chmod'ed
Upvotes: 21