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

时间:2011-12-28 20:14:46

标签: php file-permissions fopen chmod chown

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

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

然后我检查文件是否已使用:file_exists()函数创建。

问题是:文件是用某个所有者创建的,可能是文件夹名称,但不是我。此外,该文件的权限仅为readable by the owner。 由于我不是所有者,因此无法读取文件或更改权限。

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

chown($filename, 'myusername');
chmod($filename, 777);

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

但没有运气。

虽然我对文件权限号没有太多经验,但chown命令也无效。

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

1 个答案:

答案 0 :(得分:18)

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

chmod($filename, 0777);

注意777之前的0。

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