Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

fopen Creates File, But how to change permissions?

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?

like image 569
Arjun Bajaj Avatar asked Dec 28 '11 20:12

Arjun Bajaj


1 Answers

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

like image 77
Tim Wickstrom Avatar answered Oct 12 '22 11:10

Tim Wickstrom