php mkdir權(quán)限不夠的解決辦法:1、把系統(tǒng)默認(rèn)權(quán)限改為777,并將mkdir指定更大權(quán)限;2、將chmod函數(shù)設(shè)置比系統(tǒng)默認(rèn)權(quán)限大的權(quán)限;3、將系統(tǒng)的mkdir命令設(shè)置為大于默認(rèn)值的權(quán)限。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、石林網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、石林網(wǎng)絡(luò)營(yíng)銷、石林企業(yè)策劃、石林品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供石林建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
推薦:《PHP視頻教程》
php中mkdir()函數(shù)的權(quán)限問(wèn)題
問(wèn)題描述:
使用以下php代碼創(chuàng)建了一個(gè)目錄,期望目錄的權(quán)限是0777,實(shí)際結(jié)果是0755
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.
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)限了
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)限。
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)限。
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è)有讀寫(xiě)權(quán)限的目錄,最好使用以下代碼,不要直接使用mkdir函數(shù)指定權(quán)限,以避免系統(tǒng)umask的影響
mkdir('./xw/'); chmod('./xw/',0777);