43
A
回答
108
模式通過修改您目前的umask
,在這種情況下爲022
。
umask
的工作方式是減法。你需要給mkdir
初始許可,並減去umask
得到實際權限:
0777
- 0022
======
0755 = rwxr-xr-x.
如果你不希望這樣的事情發生,你需要設置你的umask
暫時爲零,以便它有沒有影響。你可以用下面的代碼片段做到這一點:
$oldmask = umask(0);
mkdir("test", 0777);
umask($oldmask);
第一行改變umask
爲零,同時存儲前面的一成$oldmask
。第二行使目錄使用所需的權限和(現在不相關)umask
。第三行將umask
恢復到最初的狀態。
2
也許,你umask設置爲排除那些
12
文件和目錄的創建由umask的設定影響。您可以通過操縱的umask如下創建一組特定權限的文件: -
$old = umask(0);
mkdir("test", 0777);
umask($old);
0
對於那些誰試圖
mkdir('path', 777);
,並沒有奏效。
這是因爲顯然,文件模式前面的0非常重要,它告訴chmod將傳遞的數字解釋爲八進制數而不是十進制數。
Ps。這不是問題的解決方案,而只是接受的安裝程序的附加組件
0
避免在多線程Web服務器中使用此功能。創建文件後,最好使用chmod()更改文件權限。
實施例:
$dir = "test";
$permit = 0777;
mkdir($dir);
chmod($dir, $permit);
相關問題
- 1. 即使擁有777權限,爲什麼PHP不能創建文件?
- 2. PHP創建777權限的新目錄。怎麼樣?
- 3. Java - 無法創建具有777權限的目錄(改爲775)
- 4. 使所有新目錄擁有777權限
- 5. 在PHP中創建目錄,避免777權限
- 6. 查找目錄中的所有.php文件,並且擁有777權限
- 7. Java:在Mac上創建一個具有777權限的新目錄
- 8. PHP創建的目錄沒有權限...?
- 9. 爲什麼我不能使用php創建一個目錄?
- 10. 無法在權限創建新的目錄777
- 11. PHP腳本/目錄有什麼權限?
- 12. Hadoop FileSystem mkdirs()在通過時創建具有755權限的目錄777
- 13. 在Oracle中創建一個擁有所有權限的用戶
- 14. 如何用777權限創建文件?
- 15. 儘管777權限和沒有open_basedir值不能寫入到/ tmp與php,儘管777權限和沒有open_basedir值
- 16. 創建目錄權限
- 17. 的fopen權限與777個權限
- 18. 創建一個WebPart,顯示對列表擁有權限的人
- 19. 爲什麼我不能用php mkdir()創建目錄?
- 20. PHP/Apache文件寫權限不帶777
- 21. 如何創建具有777權限的txtfile
- 22. 目錄權限到一個php文件
- 23. Linux - PHP mkdir創建目錄,但沒有寫權限?
- 24. 應該爲目錄設置什麼權限才能避免權限被拒絕?
- 25. TimThumb和777權限
- 26. 將所有新的文件和文件夾目錄中的777個權限
- 27. 爲什麼我無法訪問具有755權限的目錄
- 28. 爲什麼我需要一個沒有'創建會話'權限的Oracle用戶?
- 29. 爲什麼我的解壓縮類不能創建目錄?
- 30. 創建一個僅擁有1個數據庫權限的用戶