2010年11月21日に投稿

[PHP]mkdir関数で作成したディレクトリのパーミッションが0777にならない

mkdir関数は第二引数でディレクトリを作成する際のパーミッションを指定することができます。サーバーの設定によってはmkdir関数で0777と指定しても、0755になってしまう場合があります。ロリポップの共用サーバーでも、0777で作成しようとすると0755となりました。


0777にしたい場合は、mkdir関数の実行後にchmod関数を実行するとパーミッションの変更ができます。サンプルコードを以下に示します。

[php]

[/php]

mkdir関数の引数に0777を指定しても、そのパーミッションのディレクトリが作成されないのはサーバーのumaskの設定値が0022になっていることが原因のようです。

参考
http://memories.zal.jp/WP/20100114_1675.html
http://q.hatena.ne.jp/1156701125#
http://www.programming-magic.com/20070728182543/#

関連記事

Leave a Reply