如何運用php函數(shù)mkdir創(chuàng)建多級目錄
當我們想在自己的網(wǎng)站上添加多級目錄時,可以使用php函數(shù)mkdir來實現(xiàn)這以功能。下面我們將會為大家詳細介紹php函數(shù)mkdir的具體含義,希望對有這方面需求的朋友有所幫助。
#t#php函數(shù)mkdir參數(shù)與描述
path 必需。規(guī)定要創(chuàng)建的目錄的名稱。
mode 必需。規(guī)定權(quán)限。默認是 0777。
recursive 必需。規(guī)定是否設(shè)置遞歸模式。
context 必需。規(guī)定文件句柄的環(huán)境。Context 是可修改流的行為的一套選項。
說明
php函數(shù)mkdir 嘗試新建一個由 path 指定的目錄。
默認的 mode 是 0777,意味著***可能的訪問權(quán)。
php默認的mkdir一次只能創(chuàng)建一層目錄,如果在當前目錄下創(chuàng)建一個div/css/layout 的目錄就需要逐層逐層的先創(chuàng)建div,再創(chuàng)建div/css 再創(chuàng)建 div/css/layout,然而我們希望能讓程序自動幫我們完成這個過程。
其實思路也很簡單,1.先判斷 div目錄是否存在,不存在則創(chuàng)建;2.判斷子目錄 div/css 是否存在,不能存在則創(chuàng)建,3.在第二步中以子目錄作為參數(shù)遞歸調(diào)用函數(shù)本身。也可以按相反順序來,1.先判斷***層目錄div/css/layout是否存在;2.判斷div/css/layout的上層目錄div/css是否存在,不存在則以div/css作為參數(shù)遞歸進行。。
下面是php函數(shù)mkdir的程序代碼:
- function mkdirs($dir)
- {
- if(!is_dir($dir))
- {
- if(!mkdirs(dirname($dir))){
- return false;
- }
- if(!mkdir($dir,0777)){
- return false;
- }
- }
- return true;
- }
- mkdirs('div/css/layout');
- 同樣的思路,php用rmdir和unlink遞歸刪除多級目錄的代碼:
- function rmdirs($dir)
- {
- $d = dir($dir);
- while (false !== ($child = $d->read())){
- if($child != '.' && $child != '..'){
- if(is_dir($dir.'/'.$child))
- rmdirs($dir.'/'.$child);
- else unlink($dir.'/'.$child);
- }
- }
- $d->close();
- rmdir($dir);
- }
以上代碼示例就是php函數(shù)mkdir實現(xiàn)創(chuàng)建多級目錄的具體方法。