2016-11-10 40 views
3

我剛剛參與了PHP的東西,execuse我對任何容易混淆的名詞使用下面的代碼來顯示當前的路徑上的文件和目錄C#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); //METHOD To List Files In Directory 
      echo '</li>'; 
     } 
    } 
    echo '</ol>'; 
} 

我'將其列爲一個鏈接呼應'<li><a href="">'.$ff.'</a>';

我希望能夠取的名字的目錄,點擊並輸入它顯示anyhting:

function List($DirectoryName){ 
     if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff); 
    } 

我如何能做到這一點,被點擊

回答

0

你有路徑的目錄之後,調用此功能,所以只是url encode it,並通過它查詢字符串href='?dir=$folder'

檢查它的設置,然後使用它,否則一些默認。

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

       // conditionally echo link if directory, else just filename 
       if(is_dir($dir.'/'.$ff)){ 
        $folder = rawurlencode("$dir/$ff"); 
        echo "<a href='?dir=$folder'>$ff</a>"; 

        // recurse 
        listFolderFiles($dir.'/'.$ff); 
       } else { 
        echo $ff; 
       } 
       echo '</li>'; 
      } 
     } 
     echo '</ol>'; 
    } 
} 

if(isset($_GET['dir'])){ 
    $folder = $_GET['dir']; 
} else { 
    $folder = __DIR__; 
} 

listFolderFiles($folder); 
+0

謝謝主席先生! – Huster