【问题标题】:File permissions for fopen in write mode - PHP写入模式下 fopen 的文件权限 - PHP
【发布时间】:2012-08-15 14:10:14
【问题描述】:

我有一个 PHP 脚本,可以将一些行写入 CSV 文件:

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

我正在使用模式 'w' 以便在文件不存在时创建文件,但是即使我将 777 分配给整个 /var,文件也会自动获得 644 权限/www/html/ 目录(不是一个好主意,但适合测试)。

我怎样才能写入文件并事先授予它权限?或者有没有更好的方法来授予写权限?

【问题讨论】:

  • 您在写入文件时遇到问题吗? 644 应该可以写入,因为所有者具有读/写权限。
  • @MattK 似乎是在 'Apache' 的所有者下创建 csv,这与目录中所有其他文件的所有者不同

标签: php fopen fputcsv


【解决方案1】:

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

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

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

【讨论】:

  • 所有者似乎更改为“apache”。我不想将所有者硬编码到 PHP 中,因为域可能会改变。
  • 您对上面的代码有什么不同的行为吗?
猜你喜欢
  • 1970-01-01
  • 2015-12-31
  • 2013-03-08
  • 1970-01-01
  • 2011-11-14
  • 2018-09-17
  • 2011-07-10
  • 2015-11-24
  • 2013-02-19
相关资源
最近更新 更多