массив глобусов php, отделить первый файл каталога от

Я пытаюсь получить файлы .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")) дает мне: вставка1.php, вставка2.php, вставка3.php, вставка4.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>    

EDIT Файл php должен быть включен в div. Предоставленное решение может только построить структуру и поместить html между ними.


person user3799112    schedule 07.12.2016    source источник


Ответы (2)


Я полагаю, вы ищете 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>
person jhmckimm    schedule 08.12.2016
comment
Это именно то, что мне нужно. Большое спасибо. Также большое спасибо всем остальным ребятам, приложившим усилия! - person user3799112; 08.12.2016

Пожалуйста, проверьте внутренний 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>
person Purushottam zende    schedule 07.12.2016
comment
привет, спасибо за ответ. Похоже, это куда-то идет. Но у меня есть четыре предмета. Первый сейчас находится в col-left. Правильный. Но в Col-right я получаю только последний пункт. поэтому 2 и 3 отсутствуют. - person user3799112; 07.12.2016
comment
изменил ответ, пожалуйста, проверьте сейчас - person Purushottam zende; 07.12.2016
comment
А на самом деле это не так. Дает правильную структуру, но также помещает строку с именем файла между ‹div› и не включает другой файл. - person user3799112; 07.12.2016
comment
Я запутался, вы хотите, чтобы отображалось только имя файла, или вы также хотите включить этот файл. - person Purushottam zende; 07.12.2016
comment
Нет, это небольшой файл, в котором я позволяю кому-то редактировать текст. Поэтому я хочу действительно включить файл. - person user3799112; 07.12.2016
comment
Вы имеете в виду, что хотите показать данные, присутствующие в файле. Как будто этот файл для отличной работы, верно? - person Purushottam zende; 07.12.2016
comment
Да, я хочу, чтобы содержимое этого включаемого файла отображалось в div. каждый файл event.php содержит элементы div, h1, h2 и p. То, что я хочу между элементами kal-item. - person user3799112; 07.12.2016
comment
Давайте продолжим обсуждение в чате. - person user3799112; 07.12.2016