早速のご返信ありがとうございます。 キャスターマイルドです。 > 0707を指定すると どうなるんですか? 705になります。 そのほか、706の場合、704になります。 > umask()の戻り値を8進数で表示してみれば なにか てがかりになるかな? あれからumaskを調べてみたのですが、 PHPの関数ではなくて、unixシェルコマンドだったのですね。 (参考) http://x68000.startshop.co.jp/~68user/unix/pickup?umask これを読んだ後に、umaskの意味が分かったのですが、 umask(060); mkdir ($mkdir_path, 0707); にすると、うまくいきました。 自己解釈ですが、 デフォルトで、umaskの値って決まっているみたいなのですね。 それを、定義付けして外してやる。と言う流れなのですよね? あと、所有権がapacheなのは仕方ないのですね?