fopen创建文件,但如何更改权限?

Arj*_*jaj 10 php fopen file-permissions chmod chown

我正在使用fopen创建一个新文件.

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');
Run Code Online (Sandbox Code Playgroud)

然后我检查文件是否已使用:file_exists()function 创建.

问题是:文件正在创建一些所有者,可能是文件夹名称,但它不是我.此外,该文件的权限也是readable by the owner.由于我不是所有者,我无法读取文件或更改权限.

但如果尝试使用以下方法更改它:

chown($filename, 'myusername');
chmod($filename, 777);
Run Code Online (Sandbox Code Playgroud)

我尝试使用终端更改文件所有者和权限sudo.这工作正常.所以我也尝试使用上面的函数,shell_exec()因此它在root中运行.

但没有运气.

虽然,我对文件权限号没有太多经验,但chown命令也不起作用.

那么我应该如何更改文件的所有者和权限,以便我是所有者以及我的其他PHP脚本可读写的?

Tim*_*rom 18

您应该只能使用以下行来chmod它:

chmod($filename, 0777);
Run Code Online (Sandbox Code Playgroud)

注意777之前的0.

在chmod'ed之前也不要更改所有权