我正在尝试使用globe()将目录中的.php文件转换为数组。工作良好。 我希望将第一个文件放在一个div中,将所有其他文件放在另一个div中。
<?php
$files = glob("kalenderitems/*.php");
$num_files = count($files);
$i = 0;
?>
<div class="kal-item-<?php echo $num_files?>-col-left">
<?php
foreach (glob("kalenderitems/*.php") as $filename){
if ($i == 1) {
?>
<div class="kal-item-<?php echo $num_files?> nr-<?php echo $i++ ?> equaliser">
<?php
include $filename
?>
</div>
<?php
};
}
?>
</div>
<!-- end DIV 1 -->
<div class="kal-item-<?php echo $num_files?>-col-right">
<?php
foreach (glob("kalenderitems/*.php") as $filename){
if ($i++ > 1) {
?>
<div class="kal-item-<?php echo $num_files?> nr-<?php echo $i++ ?> equaliser">
<?php
include $filename
?>
</div>
<?php
};
}
?>
</div>
数组内容 (glob(“kalenderitems / * .php”))给了我: insert1.php,insert2.php,insert3.php,insert4.php
目标结构
<div class="col-left">
<div class="element 1">include (insert1.php)</div>
</div>
<div class="col-right">
<div class="element 2">include a file</div>
<div class="element 2">include a file</div>
<div class="element 2">include a file</div>
</div>
修改 一个php文件必须包含在div中。提供的解决方案只能构建结构并在其间放置html。
答案 0 :(得分:1)
请检查内部div,我只是写了它们。
<?php
$files = glob("kalenderitems/*.php");
$num_files = count($files);
$first_flag = 0;
$div_1 = "";
$div_2 = "";
foreach (glob("kalenderitems/*.php") as $filename)
{
if ($first_flag == 0)
{
$div_1 = "<div class='kal-item-$num_files nr-$i++ equaliser'> include $filename </div>";
}
else
{
$div_2.= "<div class='kal-item-$num_files nr-$i++ equaliser'> include $filename </div>";
}
$first_flag = 1;
}
?>
<div class="kal-item-<?php echo $num_files?>-col-left">
<?php echo $div_1; ?>
</div>
<div class="kal-item-<?php echo $num_files?>-col-right">
<?php echo $div_2; ?>
</div>
答案 1 :(得分:1)
我相信你正在寻找array_shift()
。它删除并返回数组中的第一个元素,因此这应该实现您的目标:
<?php
$files = glob("kalenderitems/*.php");
$num_files = count($files);
?>
<div class="kal-item-<?php echo $num_files; ?>-col-left">
<div class="kal-item-<?php echo $num_files; ?> nr-1 equaliser">
<?php include(array_shift($files)); ?>
</div>
</div>
<!-- end DIV 1 -->
<div class="kal-item-<?php echo $num_files?>-col-right">
<?php foreach($files as $filename): ?>
<?php include($filename); ?>
<?php endforeach; ?>
</div>