如何遍历目录中的文件并在<div> </div>中输出每个文件的内容

时间:2012-06-21 17:16:09

标签: php

  

可能重复:
  Loop code for each file in a directory

我认为我可以通过以下代码达到此目的,但我认为我对此代码include($file[$])

犯了一些错误
<?php
$dir= opendir(".") or die ('Cannot open directory');
$div="<div class=\"left1\">\n";
echo "<div class=\"wrapper\">\n";
for( $i=0; $i<6; $i++){
    while(($file = readdir($dir)) != false){
    if(preg_match("/php$/", $file)){
    echo $div;
    include($file[$i]); // HERE ITS NOT WORKING AS I WANT
    echo "</div>\n";
    }
    }
}
echo "</div>\n";

?>

2 个答案:

答案 0 :(得分:3)

readdir将实际文件名作为字符串返回,因此您尝试将该文件名作为数组访问,该数组只提取该文件名的一个CHARACTER。

尝试:

include($file);

代替。除此之外,不需要opendir / readdir,你可以使用glob()

$phpfiles = glob('*.php');
foreach($phpfiles as $file) {
    include($file);
}

答案 1 :(得分:2)

$file此时是一个纯字符串,而不是数组。因此,您只需要include($file[$i])而不是include($file)

while(($file = readdir($dir)) !== false){
  if(preg_match("/php$/", $file)){
      echo $div;
      include($file);
      echo "</div>\n";
   }
}

整个外部for循环似乎是不必要的。