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 に答える