最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP遞歸遍歷指定文件夾內(nèi)的文件實(shí)現(xiàn)方法

 更新時間:2016年11月15日 09:37:06   投稿:jingxian  
下面小編就為大家?guī)硪黄狿HP遞歸遍歷指定文件夾內(nèi)的文件實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

今天早上在地鐵上看了關(guān)于文件和文件夾的一章,正好最近剛搞懂linux的文件系統(tǒng),覺得對文件屬性的訪問跟Shell命令很像,所以想晚上來實(shí)踐一下。

發(fā)現(xiàn)php的文件夾函數(shù)好像沒有提供遍歷文件夾下的所有文件(包括子目錄中的文件),于是,就想自己實(shí)現(xiàn)一個。

在寫的時候發(fā)現(xiàn)一些操作文件夾的函數(shù)并不是自己想的那樣。比如,dirname()根據(jù)提供的完整文件路徑來取得文件所在的文件夾的路徑,但如果你傳入的是文件夾,它取的就是它的父文件夾。這點(diǎn)要明白。basename()也是同樣的道理,傳入文件夾路徑取得就是文件夾的名字。這兩個函數(shù)返回的結(jié)果結(jié)尾都不加'/'

<?php
$dirPath='/home/WWW/Test';//目錄,結(jié)尾不加'/‘

//執(zhí)行遍歷
recursion_readdir($dirPath);

/**
*@summary 重復(fù)times次字符char
*@param $char 需要重復(fù)的字符
*@param $times 重復(fù)次數(shù)
*@return 返回重復(fù)字符組成的字符串
*/
function forChar($char='-',$times=0){
  $result='';
  for($i=0;$i<$times;$i++){
    $result.=$char;
  }
  return $result;
}

/**
*@summary  遞歸讀取目錄
*@param $dirPath 目錄
*@param $Deep=0 深度,用于縮進(jìn),無需手動設(shè)置
*@return 無
*/
function recursion_readdir($dirPath,$Deep=0){
 $resDir=opendir($dirPath);
 while($basename=readdir($resDir)){
   //當(dāng)前文件路徑
   $path=$dirPath.'/'.$basename;
   if(is_dir($path) AND $basename!='.' AND $basename!='..'){
    //是目錄,打印目錄名,繼續(xù)迭代
    echo forChar('-',$Deep).$basename.'/<br/>';
    $Deep++;//深度+1
    recursion_readdir($path,$Deep);
   }else if(basename($path)!='.' AND basename($path)!='..'){
     //不是文件夾,打印文件名
     echo forChar('-',$Deep).basename($path).'<br/>';
   }

 }
 closedir($resDir);
}

以上這篇PHP遞歸遍歷指定文件夾內(nèi)的文件實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

呼伦贝尔市| 沙坪坝区| 东平县| 宝鸡市| 蓝田县| 勐海县| 潜山县| 保定市| 汤原县| 临沧市| 云龙县| 都江堰市| 云霄县| 安西县| 大渡口区| 专栏| 明水县| 安图县| 奈曼旗| 屏东市| 河间市| 射阳县| 武乡县| 丽江市| 琼中| 柳州市| 宝坻区| 新兴县| 北碚区| 宝坻区| 保定市| 基隆市| 工布江达县| 紫阳县| 东乡| 合川市| 郸城县| 江安县| 锡林郭勒盟| 山阴县| 西充县|