我正在使用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脚本可以读写它?
答案 0 :(得分:18)
您应该只能使用以下行来修改它:
chmod($filename, 0777);
注意777之前的0。
也不要在chmod'ed之前更改所有权