Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recursive mkdir() and chmod()?

When using mkdir() with the recursive flag set to true do all the created directories get the specified chmod or just the last one? For example:

mkdir('/doesnotExist1/doesnotExist2/doesnotExist3/', 0755, true);

Will the newly created directories /doesnotExist1/ and /doesnotExist1/doesnotExist2/ also get the same chmod as /doesnotExist1/doesnotExist2/doesnotExist3/ = 0755?

If not, is there any way to force the above behavior?

I would test this myself, but I don't have access to a *nix box ATM.

like image 487
Alix Axel Avatar asked Jan 12 '10 09:01

Alix Axel


1 Answers

Just tested on gentoo linux with PHP 5.2.12: They all have the same permissions.

soulmerge@shark-g:~$ php -a
Interactive shell

php > mkdir('asd/def/ghi', 0700, 1);
php > ^C
soulmerge@shark-g:~$ ls -hal asd
total 12K
drwx------  3 soulmerge soulmerge 4.0K 2010-01-12 10:32 .
drwxr-xr-x 79 soulmerge soulmerge 4.0K 2010-01-12 10:32 ..
drwx------  3 soulmerge soulmerge 4.0K 2010-01-12 10:32 def
like image 110
soulmerge Avatar answered Sep 29 '22 22:09

soulmerge