2017-02-08 10 views
1

私はナビゲーションの一環としてディレクトリとサブディレクトリをリストアウトしようとしていますが、検索の深さを制限する方法はわかりません。私が達成したい何リンクのある限定されたディレクトリとサブディレクトリ一覧

:私も見つけ

|- <p>Directory</p> 
||- <a>Sub Directory</a> 
||- <a>Sub Directory</a> 
|- <p>Directory</p> 
||- <a>Sub Directory</a> 
||- <a>Sub Directory</a> 

は今、私は、ディレクトリの一覧を表示し、それをリンクするには以下のコードを使用していますが、それはサブディレクトリ

$emailDirectory = "../"; 
$allPhpFiles = scandir($emailDirectory); 
$phpfiles = array_diff($allPhpFiles, array('.', '..')); 

<p>Other Emails</p> 
    <ul> 
    <?php foreach($phpfiles as $phpfile) 
      { 
       echo '<li><a href="../'.$phpfile.'">'.$phpfile.'</a></li>'; 
      }?> 
    </ul> 

が含まれていません。ここに誰かがサブディレクトリをリストすることについて話しています

function page_title($url) { 
    $fp = file_get_contents($url); 
    if (!$fp) 
     return null; 

    $res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches); 
    if (!$res) 
     return null; 

    // Clean up title: remove EOL's and excessive whitespace. 
    $title = preg_replace('/\s+/', ' ', $title_matches[1]); 
    $title = trim($title); 
    return $title; 
} 

<?php function listFolderFiles($dir){ 
$ffs = scandir($dir); 
echo '<ol>'; 
foreach($ffs as $ff){ 
    if($ff != '.' && $ff != '..'){ 
     echo '<li>'.$ff; 
     if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff); 
     echo '</li>'; 
    } 
} 
echo '</ol>'; 
} 

listFolderFiles('../../'); ?> 

これは素晴らしいですが、そうではありませんリンクとそれはサブディレクトリに移動し、それらの項目を表示しますが、私は前に言ったように、私はそれがサブディレクトリで切断し、深くは行ってみたいです。

アドバイスはありますか?深さ

おかげ

答えて

1

追加パラメータ

<?php 
    function listFolderFiles($dir, $deep = 0, $depth_limit = 1){ 
    if($deep > $depth_limit) return; 
    $ffs = scandir($dir); 
    echo '<ol>'; 
    foreach($ffs as $ff){ 
     if($ff != '.' && $ff != '..'){ 
      echo '<li>'.$ff; 
      if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff, ++$deep); 
      echo '</li>'; 
     } 
    } 
    echo '</ol>'; 
    } 

    listFolderFiles('../../'); 
?> 
関連する問題