在PHP中以写入模式打开文件的文件权限

3
我有一个PHP脚本,可以将一些行写入CSV文件:
$fp = fopen($csv, 'w');

我使用模式“w”,以便在文件不存在时创建文件,但是即使我给整个/var/www/html/目录赋予777权限(不是一个好主意,但适合测试),该文件也会自动获得644权限。
如何在写入文件之前授予它权限?或者有没有更好的方法来授予写入权限?

你在写文件方面遇到了麻烦吗?644 对于拥有读写权限的所有者来说应该是可以的。 - Matt K
@MattK 看起来它创建了一个 CSV 文件,所有者是“Apache”,这与目录中所有其他文件的所有者不同。 - AlxVallejo
https://www.php.net/manual/en/function.umask.php - undefined
看一下umask,它实际上是Unix/Linux系统的一个规范。 - undefined
这是11年前的事了,但还是谢谢 :) - undefined
1个回答

6

事先创建文件并设置权限:

touch('/file/path/here');
chmod('/file/path/here', 0775);
fopen('/file/path/here', 'w');

但这不应该是一个问题。如果PHP/Apache用户使用fopen创建文件,他们有权限写入。


所有者似乎更改为“apache”。我不想在PHP中硬编码所有者,因为域名可能会更改。 - AlxVallejo
你在上面的代码中有没有遇到任何不同的行为? - Mike Mackintosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接