2008/12/22

[php]chmodで権限変えられるんだ!!

ぐぐってびっくりしたのですが、unixやlinuxのように、phpでchmodを使ってディレクトリの権限変更できたんだ!!

おそらくCFではできなかったような気がするのですが。
最初、発見した時、びっくりしました。

phpのマニュアルを読んでみると以下のように記載されていました。

bool chmod ( string $filename , int $mode )
指定されたファイルのモードを mode で指定したものに変更しようと試みます。

<?php
chmod("/somedir/somefile", 755); // 10 進数; おそらく間違い
chmod("/somedir/somefile", "u+rwx,go+rx"); // 文字列; 正しくない
chmod("/somedir/somefile", 0755); // 8 進数; 正しいモードの値
?>

via:chmod

上のマニュアルを読んで、さらにびっくりしたのは、権限変更する時の数字って8進数で表記しないといけないということ。

なので、普段、ffftpで権限を変更する時は、頭に0をつけずに変更するしているので、chmodを使う時は、0が必要なので、注意しないといけないのかなと。

後、ぐぐってここのサイトのコンテンツを見ると、phpのマニュアルと同じことが書かれているので、こちらを参照してもいいかなーと思います。

追記
この関数の戻り値は、成功した場合trueを返し、失敗した場合は、falseを返すみたいなので、その値で、後々の処理を分けると便利かなと。

後、権限の件ですが、CFの場合、cfdirectoryで変更できるかも知れません(試してないので、確信を持っていえないところがあります。)

0 コメント:

コメントを投稿