主頁 > 知識庫 > php獲取目錄下所有文件及目錄(多種方法)(推薦)

php獲取目錄下所有文件及目錄(多種方法)(推薦)

熱門標(biāo)簽:外呼系統(tǒng)能給企業(yè)帶來哪些好處 400電話蘭州申請請 百度地圖標(biāo)注偏差 電銷機器人問門薩維品牌my 余姚電話機器人 百度地圖怎樣標(biāo)注圖標(biāo) 開發(fā)地圖標(biāo)注類網(wǎng)站 咸寧銷售電銷機器人系統(tǒng) 廣東廣州在怎么申請400電話

獲取某目錄下所有子文件和子目錄

function getDirContent($path){
  if(!is_dir($path)){
    return false;
  }
  //readdir方法
  /* $dir = opendir($path);
  $arr = array();
  while($content = readdir($dir)){
    if($content != '.'  $content != '..'){
      $arr[] = $content;
    }
  }
  closedir($dir); */

  //scandir方法
  $arr = array();
  $data = scandir($path);
  foreach ($data as $value){
    if($value != '.'  $value != '..'){
      $arr[] = $value;
    }
  }
  return $arr;
}

下面介紹的三種方法,是獲取某個目錄下所有的目錄(包括子目錄,子孫目錄)和文件,直到最里層

方法一

function searchDir($path,$files){

  if(is_dir($path)){

    $opendir = opendir($path);

    while ($file = readdir($opendir)){
      if($file != '.'  $file != '..'){
        searchDir($path.'/'.$file, $files);
      }
    }
    closedir($opendir);
  }
  if(!is_dir($path)){
    $files[] = $path;
  }
}
//得到目錄名
function getDir($dir){
  $files = array();
  searchDir($dir, $files);
  return $files;
}
$filenames = getDir('lss');

foreach ($filenames as $value){
  echo $value.'br/>';
} 

方法二:

function getDir($path){

  if(is_dir($path)){

    $dir = scandir($path);
    foreach ($dir as $value){
      $sub_path =$path .'/'.$value;
      if($value == '.' || $value == '..'){
        continue;
      }else if(is_dir($sub_path)){
        echo '目錄名:'.$value .'br/>';
        getDir($sub_path);
      }else{
        //.$path 可以省略,直接輸出文件名
        echo ' 最底層文件: '.$path. ':'.$value.' hr/>';
      }
    }
  }
}
$path = 'lss';
getDir($path); 

方法三:

function getDir($path){
  $arr = array();
    $arr[] = $path;
  if(is_file($path)){

  }else{
    if(is_dir($path)){
      $data = scandir($path);
      if(!empty($data)){
        foreach ($data as $value){
          if($value != '.'  $value != '..'){
            $sub_path = $path."/".$value;
            $temp = getDirContent($sub_path);
            $arr = array_merge($temp,$arr);
          }          
        }

      }
    }
  }

  return $arr;
}
$path = 'lss';
var_dump(getDir($path));

以上所述是小編給大家介紹的php獲取目錄下所有文件及目錄多種方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • PHP超低內(nèi)存遍歷目錄文件和讀取超大文件的方法
  • PHP遍歷目錄文件的常用方法小結(jié)
  • php實現(xiàn)統(tǒng)計目錄文件大小的函數(shù)
  • php使用glob函數(shù)快速查詢指定目錄文件的方法
  • php清空(刪除)指定目錄下的文件,不刪除目錄文件夾的實現(xiàn)代碼

標(biāo)簽:重慶 十堰 銅陵 麗江 巴彥淖爾 衡陽 鷹潭 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php獲取目錄下所有文件及目錄(多種方法)(推薦)》,本文關(guān)鍵詞  php,獲取,目,錄下,所有,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php獲取目錄下所有文件及目錄(多種方法)(推薦)》相關(guān)的同類信息!
  • 本頁收集關(guān)于php獲取目錄下所有文件及目錄(多種方法)(推薦)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章