0

可能重复:
目录中每个文件的循环代码

我认为我可以使用以下代码来实现这一点,但我认为我在这段代码中犯了一些错误 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";

?>
4

2 回答 2

3

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

尝试:

include($file);

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

$phpfiles = glob('*.php');
foreach($phpfiles as $file) {
    include($file);
}
于 2012-06-21T17:18:29.700 回答
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循环似乎是不必要的。

于 2012-06-21T17:18:16.877 回答