天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP mkdir()無寫權限的問題解決方法

使用mkdir創建文件夾時,發現這個函數有兩個參數,第二個參數是為新創建的文件夾指定權限。

但是如果直接用mkdir('文件地址', 0777);時 發現新文件夾的權限并不是777,一般情況下會是022。

因為mkdir在給文件夾制定權限時,會跟當前登錄操作系統用戶的umask(用戶缺省權限屬 性)值進行位“與”,得到的值才是最終權限值。

umask 是什么?

我們創建文件的默認權限是怎么來的?如何改變這個默認權限呢?

當我們登錄系統之后創建一個文件總是有一個默認權限的,那么這個權限是怎么來的呢?這就是 umask 干的事情。

umask 設置了用戶創建文件的默認權限,它與 chmod 的效果剛好相反,umask 設置的是權限“補碼”,而 chmod 設置的是文件權限碼。一般在 /etc/profile、$HOME/.bash_profile 或 $HOME/.profile 中設置 umask 值。

如何計算 umask 值?

umask 命令允許你設定文件創建時的缺省模式,對應每一類用戶(文件屬主、同組用戶、其他用戶)存在一個相應的 umask 值中的數字。對于文件來說,這一數字的最大值分別是 6。系統不允許你在創建一個文本文件時就賦予它執行權限,必須在創建后用 chmod 命令增加這一權限。目錄則允許設置執行權限,這樣針對目錄來說,umask 中各個數字最大可以到 7。

該命令的一般形式為:umask nnn,其中 nnn 可為 000 - 777。

我們只要記住 umask 是從權限中“拿走”相應的位即可。

如:umask 值為 022,則默認目錄權限為 755,默認文件權限為 644。
所以,如果用戶umask是022(一般默認是這個),即:000 010 010 在于mkdir指定的777 ,即:111 111 111 位“與”后,得到的真實權限為:022。

如果想讓新建文件夾權限最大,有兩種方法可以實現:(當然,是在當前用戶能賦予最高權限的條件下)

1、修改用戶umask,php提供有umask函數:

復制代碼 代碼如下:
$oldumask=umask(0);
mkdir('test',0777);
umask($oldumask);

這種方法看起來一勞永逸,在腳本開頭文件里指定下umask值,后面直接用mkdir就可以控制權限,需要注意的是:在多線程服務器上使用umask函數時,多個線程會公用一個umask,所以可能會造成混亂。

2、使用chmod函數,這也是最常用的方法:
復制代碼 代碼如下:
mkdir('文件地址', 0777);
chmod('文件地址', 0777);

最后,需要注意一點,權限值最好使用八進制表示,即“0”開頭,而且一定不要加引號。

php技術PHP mkdir()無寫權限的問題解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一边吃奶一边啪啪真舒服 | 校园全肉高h湿一女多男 | 嗯啊快停下我是你老师啊H 嗯啊快拔出来我是你老师视频 | 日韩1区1区产品乱码芒果榴莲 | 黄色片网站下载 | 久久 这里只精品 免费 | 9亚洲欧洲免费无码在线 | 快播电影网站大全 | 久久久久激情免费观看 | 日本一区不卡在线播放视频免费 | 亚洲福利视频导航 | a视频在线免费观看 | 最近中文字幕2019国语4 | 扒开美女下面粉嫩粉嫩冒白浆 | 国产精品成人久久久久A伋 国产精品成人观看视频免费 | 亚洲精品久久久无码 | 涩涩在线观看免费视频 | 动漫护士被乳羞羞漫 | 野花日本高清在线观看免费吗 | 日本熟妇多毛XXXXX视频 | 亚洲国产日韩a精品乱码 | zooskoo1videos人与狗| 亚洲AV综合99一二三四区 | 亚洲看片网站 | 高清一区二区亚洲欧美日韩 | 亚洲 日韩 色 图网站 | 野花日本手机观看大全免费3 | 成人精品视频99在线观看免费 | 99国产在线视频 | 亚洲视频在线免费观看 | 日本乱hd高清videos | 麻豆精品传媒卡一卡二传媒短视频 | 乌克兰少妇大胆大BBW | 99久久国产露脸精品国产麻豆 | 日韩做A爰片久久毛片A片毛茸茸 | 大睾丸内射老师 | 久久精品视频15人人爱在线直播 | 多男同时插一个女人8p | 尤物国产在线精品三区 | 迈开腿让我看下你的小草莓声音 | 久久久久嫩草影院精品 |