2012-01-11 61 views
0
WAMP頁

我正在尋找一種方法來列出目錄中的每個文件夾的名字和他們的PHP路徑列出目錄像PHP

謝謝

+1

Google「用PHP列出目錄中每個文件夾的名稱及其路徑」。 – Abbas 2012-01-11 06:50:13

+0

你可能指的是index.html? – ianace 2012-01-11 08:58:20

回答

2

什麼你指的是不是一個頁面從WAMPP,這是一個默認設置顯示在任何文件和文件夾(如果不是大多數)Web服務器...這通常是關閉由Web服務器的配置,或.htaccess files

您正在尋找一些PHP代碼做類似的事情,下面的PHP函數是你需要查看,閱讀頁面和查看示例以瞭解如何使用米......千萬不要忽視「警告」或從php.net這些網頁的「重要性」的消息:

  • opendir - 創建一個句柄到一個目錄,用於讀取
  • readdir - 讀取裏面的文件/文件夾DIR
  • rmdir - 刪除一個文件夾(必須是空的)
  • mkdir - 創建的文件夾

下面是一個例子:

<?php 
$folder = "myfolder"; 
if ($dhandle = opendir($folder)) { 

    while ($file = readdir($dhandle)) { 

    // Ignore . and .. 
    if ($file<>'.' && $file<>'..') 

    // if it's a folder, echo [F] 

    if (is_dir("$folder/$file")) echo "[F] $file<br>"; else 
    echo "$file<br>"; 

    } 
closedir($dhandle); 
} 
?> 

重要 請記住,在Linux操作系統,Apache的/ PHP必須能夠訪問該文件夾中的問題就可以寫入/刪除文件和文件夾...閱讀上chmodchownchgrp

1

使用下面的函數來獲取文件/文件夾的路徑

<?php 

function getDirectory($path = '.', $level = 0){ 

    $ignore = array('cgi-bin', '.', '..'); 
    // Directories to ignore when listing output. Many hosts 
    // will deny PHP access to the cgi-bin. 

    $dh = @opendir($path); 
    // Open the directory to the handle $dh 

    while(false !== ($file = readdir($dh))){ 
    // Loop through the directory 

     if(!in_array($file, $ignore)){ 
     // Check that this file is not to be ignored 

      $spaces = str_repeat('&nbsp;', ($level * 4)); 
      // Just to add spacing to the list, to better 
      // show the directory tree. 

      if(is_dir("$path/$file")){ 
      // Its a directory, so we need to keep reading down... 

       echo "<strong>$spaces $file</strong><br />"; 
       getDirectory("$path/$file", ($level+1)); 
       // Re-call this same function but on a new directory. 
       // this is what makes function recursive. 

      } else { 

       echo "$spaces $file<br />"; 
       // Just print out the filename 

      } 

     } 

    } 

    closedir($dh); 
    // Close the directory handle 

} 
getDirectory("."); 
?> 
0

有一個簡單的解決這個問題:(如果你使用的是Linux只)

您想列出目錄中每個文件夾的名稱及其在PHP中的路徑。

您可以一起選擇使用

find 

命令與PHP的

exec(); 

功能

下面的代碼片段顯示了這個

<?php 
    $startdir = "Some Directory" ; // the start directory whose sub directories along with path is needed 
    exec("find " . $startdir . " -type d " , $directories); // executes the command and stores the result in array $directory line by line 
    while(list($index,$dir) = each($directories)) { 
     echo $dir."<br/>"; //lists directories one by one 
    } 
?> 

腳筆記:

命令,

find dirname -type d 

列出了所有的目錄和子目錄下的文件夾STARTDIR

0

這是一個PHP代碼保存爲index.php文件,並把它放在你的網站根目錄。

<?php 
$pngFolder = <<< EOFILE 
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABhlBMVEX//v7//v3///7//fr//fj+/v3//fb+/fT+/Pf//PX+/Pb+/PP+/PL+/PH+/PD+++/+++7++u/9+vL9+vH79+r79+n79uj89tj89Nf889D88sj78sz78sr58N3u7u7u7ev777j67bL67Kv46sHt6uP26cns6d356aP56aD56Jv45pT45pP45ZD45I324av344r344T14J734oT34YD13pD24Hv03af13pP233X025303JL23nX23nHz2pX23Gvn2a7122fz2I3122T12mLz14Xv1JPy1YD12Vz02Fvy1H7v04T011Py03j011b01k7v0n/x0nHz1Ejv0Hnuz3Xx0Gvz00buzofz00Pxz2juz3Hy0TrmznzmzoHy0Djqy2vtymnxzS3xzi/kyG3jyG7wyyXkwJjpwHLiw2Liw2HhwmDdvlXevVPduVThsX7btDrbsj/gq3DbsDzbrT7brDvaqzjapjrbpTraojnboTrbmzrbmjrbl0Tbljrakz3ajzzZjTfZijLZiTJdVmhqAAAAgnRSTlP///////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9XzUpQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAACqSURBVBiVY5BDAwxECGRlpgNBtpoKCMjLM8jnsYKASFJycnJ0tD1QRT6HromhHj8YMOcABYqEzc3d4uO9vIKCIkULgQIlYq5haao8YMBUDBQoZWIBAnFtAwsHD4kyoEA5l5SCkqa+qZ27X7hkBVCgUkhRXcvI2sk3MCpRugooUCOooWNs4+wdGpuQIlMDFKiWNbO0dXTx9AwICVGuBQqkFtQ1wEB9LhGeAwDSdzMEmZfC0wAAAABJRU5ErkJggg== 
EOFILE; 

if (isset($_GET['img'])) 
{ 
     header("Content-type: image/png"); 
     echo base64_decode($pngFolder); 
     exit(); 
} 


$projectsListIgnore = array ('.','..'); 
$handle=opendir("."); 
$projectContents = ''; 
while ($file = readdir($handle)) 
{ 
    if (is_dir($file) && !in_array($file,$projectsListIgnore)) 
    {  
     $projectContents .= '<li><a href="'.$file.'">'.$file.'</a></li>'; 
    } 
} 
closedir($handle); 

?> 
<ul class="projects"> 
<?php $projectContents ?> 
</ul>