Php 如何循环浏览目录中的文件并在<;中输出每个文件的内容;部门>;

Php 如何循环浏览目录中的文件并在<;中输出每个文件的内容;部门>;,php,Php,可能重复: 我假设我可以用下面的代码实现这一点,但我认为我用这段代码犯了一些错误include($file[$]) $file此时是一个普通字符串,而不是数组。因此,您不需要包含($file[$i]),而只需要包含($file) while(($file=readdir($dir))!==false){ if(preg_match(“/php$/”,$file)){ echo$div; 包括($文件); 回音“\n”; } } 整个外部for循环似乎没有必要。$file此时是一个普通字符串,

可能重复:

我假设我可以用下面的代码实现这一点,但我认为我用这段代码犯了一些错误
include($file[$])


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

while(($file=readdir($dir))!==false){
if(preg_match(“/php$/”,$file)){
echo$div;
包括($文件);
回音“\n”;
}
}

整个外部
for
循环似乎没有必要。

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

while(($file=readdir($dir))!==false){
if(preg_match(“/php$/”,$file)){
echo$div;
包括($文件);
回音“\n”;
}
}

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

readdir以字符串形式返回实际文件名,因此您尝试以数组形式访问该文件名,该数组只提取该文件名的一个字符

尝试:

相反。除此之外,不需要opendir/readdir,您可以使用:


readdir以字符串形式返回实际文件名,因此您试图以数组形式访问该文件名,数组只提取该文件名的一个字符

尝试:

相反。除此之外,不需要opendir/readdir,您可以使用:



你试过包含吗?试过使用
echo
而不是
include
,以确保$file[$i]是你所期望的。@Fire Dragon DoL我在你的评论后使用过,但结论与我的期望不符,但是thx@andrewsi好的,我会记住这些文件的内容是什么?如果只是HTML内容,您最好将其存储在数据库中,并使用带有WYSIWYG编辑器的编辑页面来更新内容。您是否尝试过使用include_?尝试使用
echo
而不是
include
来确保$file[$i]“这就是你所期望的。”我在你的评论后使用了火龙牌,但结论与我的期望不符,而是thx@andrewsi好的,我会记住这些文件的内容是什么?如果只是HTML内容,您最好将其存储在数据库中,并使用带有WYSIWYG编辑器的编辑页面来更新内容。
glob()
的+1是这里的最佳选择。好的,谢谢我尝试将此代码集成到我的代码中,它看起来比我的+1对于
glob()更复杂
是这里最好的选择。好的,谢谢,我尝试将此代码集成到我的代码中,它看起来更复杂。好的,谢谢,Michael,它现在可以工作了:)但是我需要6个不同的php文件包含在6个div标记中,沿页面的水平方向,接下来是7个。php文件必须以同样的方式再次包含在下面不同的6个er div组中,这就是我使用循环的原因,我想我应该使用foreachthx@HilmiSleymanTunahanDemirkay它是否按照您的要求使用
for
循环?如果我理解并且您希望包含同一组文件6次,那么您需要通过
closedir()
关闭目录句柄,然后在
for
循环的每个循环上使用
opendir()
重新打开它。不,它不是我想要的,只是尝试一下,我想你的推荐让我更接近我的目标。好的,谢谢你,Michael,现在开始工作了:)但是我需要6个不同的php文件包含在6个div标记中,沿水平方向到页面,然后是7个。php文件必须以同样的方式再次包含在下面不同的6个er div组中,这就是我使用循环的原因,我想我应该使用foreachthx@HilmiSleymanTunahanDemirkay它是否按照您的要求使用
for
循环?如果我理解并且您希望包含同一组文件6次,那么您需要通过
closedir()
关闭目录句柄,然后在
for
循环的每个循环上使用
opendir()
重新打开它。不,它不是我想要的,只是尝试一下,我想你的建议使我离目标更近了。
<?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";

?>
while(($file = readdir($dir)) !== false){
  if(preg_match("/php$/", $file)){
      echo $div;
      include($file);
      echo "</div>\n";
   }
}
include($file);
$phpfiles = glob('*.php');
foreach($phpfiles as $file) {
    include($file);
}