首頁  >  文章  >  後端開發  >  PHP中目錄操作實例詳解

PHP中目錄操作實例詳解

小云云
小云云原創
2018-03-31 09:13:151307瀏覽

本文主要和大家分享PHP中目錄操作實例詳解,Mkdir(目錄位址[,權限[,是否遞迴創建(預設為false)]]);成功回傳true否則回傳false。預設權限為0777,時最大存取權限。此設定在windows系統中不起作用(Linux操作)。

echo mkdir('./name/li');//当前目录下并没有name这个文件夹

執行此操作發現報錯,因為根本不存在name這個資料夾,因此就不能建立在name資料夾下的li資料夾


echo mkdir('./name/li',0777,true);//支持递归创建。

此時傳回結果為1,表示執行成功,且在目前目錄下存在name資料夾,其子資料夾中也有li資料夾。這就是Mkdir()支援的遞歸創建----即,自動建立目錄位址中不存在的資料夾。

刪除目錄:

        Rmdir(目錄位址);此處僅可刪除空白目錄,且不支援遞歸刪除。

移動(改名):

        Rename(舊地址,新地址);

        rename('./name/li','./li');在上面的繼承上進行此操作後,當前目錄下name資料夾存在,且存在li資料夾,而name資料夾下的li資料夾消失了。 (此函數也支援作業檔案)

取得目錄內容:

        1.開啟目錄:目錄句柄=opendir(目錄位址);

        2.讀取檔案:檔案名稱=readdir(目錄句柄);依序讀取一個檔案(子目錄),同時向下移動句柄指標。如果取不到就回傳false。 (一般在目錄中都存在兩個邏輯子目錄.和..分別表示當前目錄和上級目錄)。此處讀取的是名字而不是內容。

        3.關閉目錄:closedir(目錄句柄);

實例:遞迴刪除檔案
<?php
	/**
	*递归删除指定文件目录下的所有问价及文件夹
	**/
	function RemoveDir($path){
		$path=iconv(&#39;utf-8&#39;,&#39;gbk&#39;,$path);//windows中汉字编码为gbk,而php中使用的是utf-8编码。
		$dir_handle=opendir($path);
		echo "{$path}<br/>";
		while(false!==$file=readdir($dir_handle))//此处用false!==$file是因为有的文件夹如果命名为0的话。会造while($file=readdir($dir_handle))条件不满足
		{ 
			if($file==&#39;.&#39;||$file==&#39;..&#39;)//存在逻辑子目录.和..
				continue;
			if(is_dir($path.&#39;/&#39;.$file)){//函数is_dir(文件地址)判断文件是否为目录。
				RemoveDir($path.&#39;/&#39;.$file);
			}else{
				unlink($path.&#39;/&#39;.$file);//unlink(文件地址)删除某个文件。
			}
		}
		closedir($dir_handle);
		return rmdir($path);
	}
	RemoveDir(&#39;./name&#39;);

相關建議:

php中目錄操作函數(刪除,創建,判斷)_PHP教程

#

以上是PHP中目錄操作實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn