ファイルのパーミッションを変更する - 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 を返します。


[ もどる ]