mkdir() 用法:mkdir($path,0777,true);
第一個參數:必須,代表要創建的多級目錄的路徑;
第二個參數:設定目錄的權限,默認是 0777,意味着最大可能的訪問權;注意:mode 在windows下被忽略
第三個參數:true表示允許創建多級目錄。
返回值:成功時返回true,失敗時返回false
其他相關函數:is_dir 判斷給定文件名是否是一個目錄,rmdir() 刪除目錄
舉例:
<?php //要創建的多級目錄 $path="php/php1/php2"; //判斷目錄存在否,存在給出提示,不存在則創建目錄 if (!is_dir($path)){ //第三個參數是“true”表示能創建多級目錄 $res=mkdir($path,0777,true); if ($res){ echo "success"; }else{ echo "fail"; } } ?>
在linux(ubuntu)系統中執行上述代碼后,實際創建的文件權限為755,原因是在 linux 系統中在創建 文件/文件夾 時有一個默認權限,此權限受 umask 設置影響,linux 系統中默認的 umask 為 022,與 777 & 運算之后,就變成了 755。
解決方案:
先創建目錄,再使用chmod將權限修改為 777:
<?php $path = 'php/php1/php2'; if(!is_dir($path)){ mkdir($path, 0777, true); chmod($path, 0777); } ?>