2012-08-15 62 views
1

我有写一些行到CSV文件PHP脚本:文件权限的fopen - PHP

$fp = fopen($csv, 'w'); 

我使用模式“W”,这样它会如果它创建的文件不存在,但是即使我给整个/ var/www/html /目录提供了777(不是一个好主意但适合测试),该文件将自动被授予权限。

我该如何写入文件并事先授予它权限?还是有更好的方法来给写权限?

+0

你有麻烦写入文件?由于所有者具有读/写权限,所以644应该可以写入。 – 2012-08-15 14:18:24

+0

@MattK它似乎在'Apache'的所有者下创建csv,该目录与目录中所有其他文件的所有者不同 – AlxVallejo 2012-08-16 20:53:18

回答

3

之前手并设置权限创建文件:

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

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

+0

所有者似乎更改为'apache'。我不想将所有者硬编码到PHP中,因为该域可能会更改。 – AlxVallejo 2012-08-16 21:11:04

+0

您是否遇到过上述代码的不同行为? – 2012-08-16 21:14:00

+0

是的,这会做。谢谢! – AlxVallejo 2012-08-16 21:28:56