php教程目錄刪除建立遍曆
執行個體目錄結構:php執行檔案與leaps教程oulcn目錄處在同一級,建立的子目錄處在leapsoulcn目錄下。
第一步:使用php目錄函式建立相關目錄
複製代碼 代碼如下:
<?
mkdir("leapsoulcn",0777);
mkdir("leapsoulcn/leapsoul",0777);
mkdir("leapsoulcn/php",0777);
mkdir("leapsoulcn/php/web",0777);
mkdir("leapsoulcn/php/web/test",0777);
?>
說明:在這段代碼中,先使用php目錄函式mkdir建立主目錄leapsoulcn,並建立了兩個子目錄,leapsoul及php,在php目錄下建立了web以及test目錄。
知識點:mkdir主要用來建立目錄,有兩個參數:新目錄名(注意建立多級目錄時,必須包含目錄路徑),新目錄的存取權限,即umask值,第一個數字通常是0,第二個數字指定了所有者特許,第三個數字指定了所有者使用者群的特許 ,第四個數字制定了全域特許,可用值如下:
1 = 可執行
2 = 可寫
4 = 可讀
將三個數字加起來,7代表擁有所有許可權,你可以根據自己的需要對建立的新目錄賦予不同的許可權。
第二步:在leapsoulcn/php/目錄下建立leapsoulcn.txt檔案,並寫入相關的內容
複製代碼 代碼如下:
<?
@$fp = fopen("leapsoulcn/php/leapsoulcn.txt","w");
if(!$fp){
echo "system error";
exit();
}else {
$filedata = "domain"."t"."www.111cn.net"."n";
$filedata = $filedata."description"."t"."php網站開發教程網,面向php初學者的php教程網。"."n";
$filedata = $filedata."title"."t"."本執行個體主要講述php目錄函式的具體應用:涵蓋讀取目錄、建立目錄、刪除目錄等功能";
fwrite($fp,$filedata);
fclose($fp);
}
?>
說明:這段執行個體代碼具體解釋可參考之前介紹的php檔案寫入教程。
第三步:讀取(遍曆)目錄名及文字檔名
複製代碼 代碼如下:
<?
$dir = opendir("leapsoulcn");
while ($filedir = readdir($dir)) {
if (!strcmp($filedir,".")||!strcmp($filedir,"..")) {
continue;
}
echo $filedir."目錄列表:<br/><br/>";
$subdir = "leapsoulcn/".$filedir;
$dirc = "->";
listsubdir($subdir,$dirc);
}
closedir($dir);
?>
說明:在這段代碼執行個體教程中主要使用了php目錄函式opendir(),readdir(),closedir()。
知識點:
1、opendir函數用來開啟所遊覽的具體目錄,函數參數為目錄名,注意,由於在本執行個體教程中php執行檔案和遊覽的主目錄處在同一級,所以傳遞的參數僅僅只是目錄名,如果不在同一級或讀取多級目錄時,需帶上具體的目錄路徑或檔案路徑。
2、在通過opendir函數讀取了主目錄後,通過while迴圈來進一步讀取主目錄下的多級目錄及檔案,此處使用的php目錄函式為readdir,此函數從目錄中讀取目錄或檔案名稱,當沒有可讀取的目錄或檔案時,返回false,注意,讀取的目錄包含.和..,在本執行個體教程中由於是一級級往下讀取目錄,所以當讀取的目錄資訊為.和..時跳出本次迴圈,繼續讀取下一級目錄。
3、在讀取完主目錄的所有子目錄及檔案後,通過php目錄函式closedir來關閉目錄控制代碼,類似於fclose函數關閉檔案。
第四步:建立讀取(遍曆)目錄及檔案的遞迴函式
複製代碼 代碼如下:
<?
function listsubdir($dirinfo,$dirc)
{
if (is_dir($dirinfo)) {
$subdir = dir($dirinfo);
while ($subfile = $subdir->read()) {
if (!strcmp($subfile,".")||!strcmp($subfile,"..")) {
continue;
}
$newdir = $dirinfo."/".$subfile;
if (is_file($newdir)) {
echo $dirc.$subfile.":檔案屬性<br/>";
}
else{
echo $dirc.$subfile.":目錄屬性<br/>";
listsubdir($newdir,"-".$dirc);
}
}
$subdir->close();
return;
}
else return;
}
?>
說明:此函數有兩個參數:需要讀取的目錄(包含目錄路徑),顯示用的多級目錄分隔字元。在這個函數中主要使用了php檔案目錄函式is_dir,is_file,dir類。
知識點:
1、首先通過is_dir來判斷要讀取的是目錄還是檔案,此函數的參數和opendir函數類似,注意目錄路徑問題。
2、如果判斷需要讀取的是目錄,則通過dir目錄類來進一步讀取其多級子目錄,層層遞迴。dir類所具有的操作函數功能和opendir、readdir、closedir這些php目錄函式功能一致。
至此整個建立目錄,讀取目錄的代碼執行個體就算完成了,可列出主目錄下的多級子目錄名及文字檔名。
如何刪除目錄?
刪除目錄可以使用php目錄函式rmdir,函數的參數和mkdir函數參數類似,可以使用相對目錄路徑或絕對目錄路徑,只是要刪除的目錄必須為空白目錄,通過上述代碼執行個體你完全可以判斷哪些是空目錄。