2014-02-26 124 views
0

我正在動態構建手風琴菜單。手風琴將從與文件夾名稱相關聯的.txt文件的文件夾名稱和內容中獲取標題信息。他們是目錄方面的親戚。PHP - 掃描目錄中的文件夾和文本文件

<div class="accordion"> 
<?php if($_GET['cat']!='') { 

$handleCat = 'tv/'.$_GET['cat']; 
$category = scandir($handleCat); 
$i = 1; 
     foreach ($category as &$value) {if ((!in_array($value,array(".","..","...")))){ 
     echo '<div class="header">'.$value.'</div><div class="content" id="ac'.$i.'">'.file_get_contents($value.".txt", false).'</div>'; 
$i+=1;}}} 

?> 
</div> 

在我的代碼中有兩個問題。首先是邏輯問題。我無法單獨製作掃描文件夾名稱和文件名稱。例如program1.txt也成爲一個標題名稱。第二個問題是方法問題。我找到了file_get_contents()方法,但是這不會提取.txt文件內容。

回答

1

您可以使用函數is_dir()來區分文件夾中的文件。

從file_get_contents開始,它讀取文件內容但不回顯它。使用:

echo '<div class="header">'.$value.'</div>'.$value.'<div class="content" id="ac'.$i.'">'; 
echo file_get_contents($value.".txt", false); 
echo'</div>'; 
+0

_file_get_contents_需要的目錄分隔符:**($ handleCat。DIRECTORY_SEPARATOR。$ value)。「.txt」**。這是問題所在。 _is_dir()_也是這樣工作的。 – Litestone

0

使用以下命令來列出目錄中的文件。我在那裏評論code你可以做任何你想要的特定文件。您可以使用is_dir()區分文件和目錄,然後相應地繼續。

<?php 
    if ($dir = opendir('.')) { 
     while (false !== ($file = readdir($dir))) { 
      if ($file != "." && $file != "..") { 
       echo "$file\n"; 
       //code 
      } 
     } 
     closedir($handle); 
    } 
?> 

使用以下代碼讀取文件的內容。

$contents = file_get_contents($file);