我认为我可以通过以下代码达到此目的,但我认为我对此代码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";
?>
答案 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
循环似乎是不必要的。