欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php的mkdir()函數(shù)創(chuàng)建文件夾比較安全的權(quán)限設(shè)置方法

 更新時(shí)間:2014年07月28日 09:26:35   投稿:junjie  
這篇文章主要介紹了php的mkdir()函數(shù)創(chuàng)建文件夾比較安全的權(quán)限設(shè)置方法,遇到的情況是系統(tǒng)umask影響了mkdir的指定權(quán)限參數(shù)比期望要小,使用chmod函數(shù)則沒(méi)有這個(gè)問(wèn)題,需要的朋友可以參考下

問(wèn)題描述:
使用以下php代碼創(chuàng)建了一個(gè)目錄,期望目錄的權(quán)限是0777,實(shí)際結(jié)果是0755

復(fù)制代碼 代碼如下:
mkdir('./aa/',0777);

分析與測(cè)試結(jié)果:

 1.mkdir()函數(shù)指定的目錄權(quán)限只能小于等于系統(tǒng)umask設(shè)定的默認(rèn)權(quán)限。

如linux默認(rèn)的umask一般0022, 即創(chuàng)建目錄的默認(rèn)權(quán)限是0755, 所以這時(shí)php  mkdir('./aa/',0777) 得到目錄的權(quán)限是0755.

復(fù)制代碼 代碼如下:

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/

把系統(tǒng)默認(rèn)權(quán)限改為777,mkdir()可以指定更大權(quán)限了
復(fù)制代碼 代碼如下:

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()函數(shù)不受系統(tǒng)umask影響,可以設(shè)置比系統(tǒng)默認(rèn)權(quán)限大的權(quán)限。

復(fù)制代碼 代碼如下:

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.系統(tǒng)的mkdir命令可以設(shè)置大于默認(rèn)值的權(quán)限。

復(fù)制代碼 代碼如下:

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/

  

總結(jié):

php若要?jiǎng)?chuàng)建一個(gè)有讀寫權(quán)限的目錄,最好使用以下代碼,不要直接使用mkdir函數(shù)指定權(quán)限,以避免系統(tǒng)umask的影響

復(fù)制代碼 代碼如下:

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

相關(guān)文章

最新評(píng)論