PHP

2014-09-25, php

ディレクトリのパーミションを設定する

PHPのmkdir関数は第二引数にパーミションを指定する場面があって、これを使うと新しく作ったディレクトリの権限を同時に設定出来そうに見えるのですが…、残念ながらumaskの設定が効いてきてしまうため、思惑通りにはいきません。例えばumaskの値が「0022」だと、以下で生成されたディレクトリのパーミションは「0755」になってしまいます。

mkdir($dir, 0777, true);

stackoverflowで紹介されていた方法では、一旦umaskを「0」にリセットしていましたが、以下のようにシンプルにchmodを呼び出した方が分かりやすいような気がします。

chmod($dir, 0777);

参考URL

この記事は役に立ちましたか?