溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP怎么讀取目錄樹(shù)

發(fā)布時(shí)間:2021-04-20 16:56:46 來(lái)源:億速云 閱讀:154 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用PHP怎么讀取目錄樹(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

php有什么用

php是一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言,它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來(lái)做網(wǎng)站開(kāi)發(fā),許多小型網(wǎng)站都用php開(kāi)發(fā),因?yàn)閜hp是開(kāi)源的,從而使得php經(jīng)久不衰。

思路:

1. 列出目錄中的文件。
2. 判斷是否是目錄,如果是目錄就繼續(xù)遞歸。
3. 將所有文件名,存入多維數(shù)組

<?php
function recurDir($pathName)
{
  //將結(jié)果保存在result變量中
  $result = array();
  $temp = array();
  //判斷傳入的變量是否是目錄
  if(!is_dir($pathName) || !is_readable($pathName)) {
    return null;
  }
  //取出目錄中的文件和子目錄名,使用scandir函數(shù)
  $allFiles = scandir($pathName);
  //遍歷他們
  foreach($allFiles as $fileName) {
    //判斷是否是.和..因?yàn)檫@兩個(gè)東西神馬也不是。。。
    if(in_array($fileName, array('.', '..'))) {
      continue;
    }
    //路徑加文件名
    $fullName = $pathName.'/'.$fileName;
    //如果是目錄的話就繼續(xù)遍歷這個(gè)目錄
    if(is_dir($fullName)) {
      //將這個(gè)目錄中的文件信息存入到數(shù)組中
      $result[$fullName] = recurDir($fullName);
    }else {
      //如果是文件就先存入臨時(shí)變量
      $temp[] = $fullName;
    }
  }
  //取出文件
  if($temp) {
    foreach($temp as $f) {
      $result[] = $f;
    }
  }
  return $result;
}
//驗(yàn)證一下這個(gè)函數(shù)是否好用!
$tree = recurDir('cart_ajax');
echo "<pre>";
print_r($tree);
echo "</pre>";
?>

cart_ajax文件夾結(jié)構(gòu)

使用PHP怎么讀取目錄樹(shù)

js文件夾下的內(nèi)容

使用PHP怎么讀取目錄樹(shù)

顯示結(jié)果

使用PHP怎么讀取目錄樹(shù)

大功告成了!目錄的級(jí)別確實(shí)是這樣的,不過(guò)看起來(lái)也太low了吧!稍微美化一下吧!

function beautifulTree($arr, $l = '-|')
{
  static $l = '';
  static $str = '';
  //遍歷剛才得到的目錄樹(shù)
  foreach($arr as $key=>$val) {
    //如果是個(gè)數(shù)組,也就代表它是個(gè)目錄,那么就在它的子文件中加入-|來(lái)表示是下一級(jí)吧
    if(is_array($arr[$key])) {
      $str.=$l.$key."<br/>";
      $l.='-|';
      beautifulTree($arr[$key], $l);
    }else {
      $str.=$l.$val."<br/>";
    }
  }
  $l = '';
  return $str;
}
$beautifulTree = beautifulTree($tree);
echo "<pre>";
print_r($beautiful);
echo "</pre>";

顯示結(jié)果

使用PHP怎么讀取目錄樹(shù)

上述就是小編為大家分享的使用PHP怎么讀取目錄樹(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI