13

fopen を使用して新しいファイルを作成しています。

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

次に、関数を使用してファイルが作成されたかどうかを確認しますfile_exists()

問題は次のとおりです。ファイルは、おそらくフォルダー名である所有者で作成されていますが、それは私ではありません。また、ファイルのパーミッションはreadable by the owner. また、私は所有者ではないため、ファイルを読み取ったり、アクセス許可を変更したりすることはできません。

ただし、次を使用して変更しようとすると:

chown($filename, 'myusername');
chmod($filename, 777);

を使用して、ターミナルを使用してファイルの所有者と権限を変更しようとしましたsudo。それは適切に機能しました。だから私も上記の関数を使ってみたshell_exec()ので、ルートで実行されます。

しかし、運がありませんでした。

ファイル許可番号についてはあまり経験がありませんが、chown コマンドも機能しません。

では、ファイルの所有者とアクセス許可を変更して、私が所有者になり、他の PHP スクリプトで読み書きできるようにするにはどうすればよいでしょうか。

4

1 に答える 1

21

次の行だけを使用してchmodできるはずです。

chmod($filename, 0777);

777の前の0に注意してください。

また、変更される前に所有権を変更しないでください

于 2011-12-28T20:21:20.303 に答える