0

我正在使用简单的fopen("w")设置fwrite在我的服务器上编写一个新文件。最近,这一直在给这些文件任意分配0640权限,这意味着我无法从浏览器中查看它们。但这并不是每次都发生。谁能告诉我为什么?我在这里缺少什么?这是我的代码:

if ($file=fopen("$filesDir/$yr/$mo/{$tempFile[0]}.xml","wb")) {
    if(fwrite($file,$output,strlen($output))) {
        $success="YES";
        $message="File successfully built.";
    } else {
        $message="Could not write XML file.";
    }
} else {
    $message="Could not open file.";
}
4

2 回答 2

2

我冒昧地猜测它可能与 umask 或您在其中创建文件的目录的当前权限有关。尝试将粘性组添加到目录并保留组 www-data 或 apache(取决于你的安装)

于 2010-09-29T17:09:24.477 回答
0

默认情况下它会这样做,因为 PHP 假定您将再次读取该文件。或者,在这种情况下写入它。您也许可以更改 php.ini 文件中的默认设置。

于 2010-09-29T17:13:46.960 回答