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);
}