2014-02-26 85 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);