ファイルのパーミッションを変更する - PHP5 プログラミング
PROGRAM
パーミッションについて
PHP5 には、Linux システムで利用されるファイルのパーミッション情報を扱う関数が用意されています。
パーミッションというのは、ファイルの読み書き権限を制御する仕組みで、所有者 (owner) やグループ (group)、またはその他 (others) に対して、読み取り (r) 書き込み (w) 実行 (x) といった権限をどう付与するかという情報です。
これらについて、権限が付与されているときの値を r = 4, w =2, x = 1 として、owner, group, others のそれぞれについて 0 から 7 までの数字で表します。例えば、所有者が読み書き可能 (rw-)、グループやその他が読み込み専用 (r) の場合は 644 となります。
プログラム中でこの値を扱う場合は、便宜上、八進数で表現して、PHP5 では 0644 という値になります。
パーミッションを確認する
ファイル $file に設定されているパーミッションの情報を取得するには、次のようにします。
$value = fileperms($file);
これで、パーミッションを数値で取得することができました。
取得に失敗した場合には false が戻ります。
パーミッションを変更する
ファイル $file にパーミッション $value を設定したい場合は、次のようになります。
chmod($file, $value);
注意点としては $value の値(十進数)と、パーミッションを示すお馴染みの数字(八進数)との差でしょうか。
パーミッションについてはよく 755 等という表現をしますが、これをそのまま $value = 755 としてしまうと間違いです。755 はあくまでも八進数表記での数値ですので、PHP5 でそれを設定したい場合には $value = 0755 と、頭に "0" を付けてそれが八進数であることを明示する必要があります。
ともあれこれで、ファイルのパーミッションを変更することが可能です。
設定に失敗した場合には chmod 関数は false を返します。
[ もどる ]