在進(jìn)行PHP編程時(shí),需要對服務(wù)器某個(gè)目錄下面的文件進(jìn)行瀏覽,通常成為遍歷目錄。取得一個(gè)目錄下的文件和子目錄,就需要用到opendir()函數(shù)、readdir()函數(shù)、closedir()函數(shù)和rewinddir()函數(shù)。
①函數(shù)opendir()
函數(shù)opendir()用于打開指定目錄,接受一個(gè)目錄的路徑及目錄名作為參數(shù),函數(shù)返回值為可供其他目錄函數(shù)使用的目錄句柄(資源類型)。如果該目錄不存在或者沒有訪問權(quán)限,則返回FALSE。
②函數(shù)readdir()
函數(shù)readdir()用于讀取指定目錄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù),函數(shù)返回當(dāng)前目錄指針位置的一個(gè)文件名,并將目錄指針向后移動(dòng)一位。當(dāng)指針位于目錄的結(jié)尾時(shí),因?yàn)闆]有文件存在則返回FALSE。
③函數(shù)closedir()
函數(shù)closedir()關(guān)閉指定目錄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù)。函數(shù)無返回值,運(yùn)行后關(guān)閉打開的目錄。
④函數(shù)rewinddir()
函數(shù)reweinddir()倒回目錄句柄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù)。將目錄指針重置目錄到開始處,即倒回目錄的開頭。
下面用一個(gè)實(shí)例來說明以上幾個(gè)函數(shù)的使用方法。注意,在使用該例子前請確保同意目錄下有phpMyAdmin文件夾。代碼如下所示:
上述程序首先打開一個(gè)目錄指針,并對其進(jìn)行遍歷。遍歷目錄時(shí),會包括“.”和“..”兩個(gè)特殊的目錄,如果不需要這倆個(gè)目錄,可以將其屏蔽。當(dāng)然顯示細(xì)節(jié)會因?yàn)槲募A中內(nèi)容的不同而有所不同。通過上例可見,在PHP中瀏覽文件夾中的內(nèi)容也并不是一件多么復(fù)雜的事情。而且PHP還提供了一種面向?qū)ο蟮姆绞接糜谀夸浀谋闅v,通過使用“dir”類完成。不僅如此,PHP也可以按用戶的要求檢索目錄下指定的內(nèi)容,提供了glob()函數(shù)檢索指定的目錄。該函數(shù)最終返回一個(gè)包含檢索結(jié)果的數(shù)組。
新聞熱點(diǎn)
疑難解答