国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)

2024-09-04 11:43:05
字體:
供稿:網(wǎng)友

這篇文章主要介紹了PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié),并給出了一個(gè)綜合使用這些函數(shù)的例子做了一個(gè)簡易文件瀏覽器,需要的朋友可以參考下

在進(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)指針位于目錄的結(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文件夾。代碼如下所示:

  1. <?php 
  2. $num = 0; //用來統(tǒng)計(jì)子目錄和文件的個(gè)數(shù) 
  3. $dirname = 'phpMyAdmin'//保存當(dāng)前目錄下用來便利的一個(gè)目錄名 
  4. $dir_handle = opendir($dirname); //用opendir打開目錄 
  5.  
  6. //將遍歷的目錄和文件名使用表格格式輸出 
  7. echo '<table border="0" align="center" width="600" cellspacing="0" cellpadding="0">'
  8. echo '<caption><h2>目錄'.$dirname.'下面的內(nèi)容</h2></caption>'
  9. echo '<tr align="left" bgcolor="#cccccc">'
  10. echo '<th>文件名</th><th>文件大小</th><th>文件類型</th><th>修改時(shí)間</th>'
  11.  
  12. //使用readdir循環(huán)讀取目錄里的內(nèi)容 
  13. while($file = readdir($dir_handle)){ 
  14. //將將目錄下的文件和當(dāng)前目錄連接起來,才能在程序中使用 
  15. $dirFile = $dirname."/".$file
  16.  
  17. $bgcolor = $num+%2==0 ? '#FFFFFF' : '#CCCCCC'//各行一種顏色 
  18. echo '<tr bgcolor='.$bgcolor.'>'
  19. echo '<td>'.filesize($dirFile).'</td>'//顯示文件名 
  20. echo '<td>'.filetype($dirFile).'</td>'//顯示文件大小 
  21. echo '<td>'.date("Y/n/t",filemtime($dirFile)).'</td>'//格式化顯示文件修改時(shí)間 
  22. echo '</tr>'
  23.  
  24. echo '</table>'
  25. closedir($dir_handle); //關(guān)閉文件操作句柄 
  26. echo '在<b>'.$dirname.'</b>目錄下的子目錄和文件共有<b>'.$num.'</b>個(gè)'
  27. ?> 

上述程序首先打開一個(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ù)組。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 渑池县| 额尔古纳市| 满洲里市| 瓦房店市| 平邑县| 威海市| 三门县| 监利县| 青阳县| 沙田区| 左贡县| 冀州市| 余庆县| 海城市| 桐乡市| 玉屏| 应用必备| 龙州县| 登封市| 密山市| 龙海市| 呼和浩特市| 什邡市| 绥宁县| 北京市| 宜章县| 江源县| 乐亭县| 庆云县| 河南省| 喀喇沁旗| 隆回县| 新余市| 婺源县| 铅山县| 九台市| 乌海市| 邵武市| 利川市| 武定县| 高邑县|