php中mkdir 函式的許可權問題

2021-07-10 08:14:26 字數 2984 閱讀 2361

使用以下php**建立了乙個目錄,期望目錄的許可權是0777,實際結果是0755

mkdir('./aa/',0777);

1.mkdir()函式指定的目錄許可權只能小於等於系統umask設定的預設許可權。

如linux預設的umask一般0022, 即建立目錄的預設許可權是0755, 所以這時php  mkdir('./aa/',0777) 得到目錄的許可權是0755.

xw@xw-x201:~/desktop/dd/aa$ umask

0022

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw/',0777);"

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw1/',0755);"

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw2/',0747);"

xw@xw-x201:~/desktop/dd/aa$ ll

總用量 20

drwxrwxrwx 5 xw xw 4096 2012-06-01 11:58 ./

drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../

drwxr-xr-x 2 xw xw 4096 2012-06-01 11:57 xw/

drwxr-xr-x 2 xw xw 4096 2012-06-01 11:58 xw1/

drwxr--r-x 2 xw xw 4096 2012-06-01 11:58 xw2/

把系統預設許可權改為777,mkdir()可以指定更大許可權了

xw@xw-x201:~/desktop/dd/aa$ umask 000

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw2/',0777);"

xw@xw-x201:~/desktop/dd/aa$ ll

總用量 12

drwxrwxrwx 3 xw xw 4096 2012-06-01 12:08 ./

drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../

drwxrwxrwx 2 xw xw 4096 2012-06-01 12:08 xw2/

2.chmod()函式不受系統umask影響,可以設定比系統預設許可權大的許可權。

xw@xw-x201:~/desktop/dd/aa$ umask

0022

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw1/',0777);"

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw2/');"

xw@xw-x201:~/desktop/dd/aa$ php -r"mkdir('./xw3/');chmod('./xw3/',0777);"

xw@xw-x201:~/desktop/dd/aa$ ll

總用量 20

drwxrwxrwx 5 xw xw 4096 2012-06-01 12:12 ./

drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../

drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw1/

drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw2/

drwxrwxrwx 2 xw xw 4096 2012-06-01 12:12 xw3/

3.系統的mkdir命令可以設定大於預設值的許可權。

xw@xw-x201:~/desktop/dd/aa$ umask

0022

xw@xw-x201:~/desktop/dd/aa$mkdir-m0777 xw

xw@xw-x201:~/desktop/dd/aa$ ll

總用量 12

drwxrwxrwx 3 xw xw 4096 2012-06-01 12:18 ./

drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../

drwxrwxrwx 2 xw xw 4096 2012-06-01 12:18 xw/

php若要建立乙個有讀寫許可權的目錄,最好使用以下**,不要直接使用mkdir函式指定許可權,以避免系統umask的影響

mkdir('./xw/');

chmod('./xw/',0777);

php中mkdir 函式的許可權問題

使用以下php 建立了乙個目錄,期望目錄的許可權是0777,實際結果是0755 mkdir aa 0777 1.mkdir 函式指定的目錄許可權只能小於等於系統umask設定的預設許可權。如linux預設的umask一般0022,即建立目錄的預設許可權是0755,所以這時php mkdir aa 0...

php中mkdir函式用法例項分析

mkdir 語法 bool mkdir 字串目錄,詮釋許可權 dirthe新directory.permissionsoctal數指定為新的directory.crgbijjtrzeates乙個新的目錄的許可權.mkdir 建立乙個具有指定許可權的目錄,許可權程式設計客棧是,作為檔案模式 和file...

PHP用mkdir 新建立目錄無寫的許可權的問題

函式mkdir有兩個引數,目錄路徑和訪問許可權 例mkdir tmp test 0777 然後要得到的許可權碼,不一定是上邊設定的,當前系統的umask將會與設定的值 與 這樣子才是真正的許可權碼,例如,如果umask為022,那碼上邊 得到的權許可權碼為0755,沒有寫的許可權 所以如果我們想要真...