петля галереи изображений php случайным образом пропуская изображения

1

У меня есть сценарий галереи, который проверяет каталог и должен сбрасывать все изображения из каталога в таблицу. Однако - кажется, случайным образом не отображать хотя бы одно изображение из каталога в таблице. Я попытался сделать var_dump в массиве и увидеть все изображения в массиве. Клавиши 6 и 11 и 16 не отображаются на выходе. В каталоге есть 19 изображений и отображается только 16.

Вот код:

    <?php

    // open this directory 
    $myDirectory = opendir("images/");

    // get each entry
    while($entryName = readdir($myDirectory)) {
        $dirArray[] = $entryName;
    }

    // close directory
    closedir($myDirectory);

    //  count elements in array
    $indexCount = count($dirArray);

    var_dump($dirArray);

    ?>

    <table cellpadding="5"><tr>

        <?php
        for($index=0; $index < $indexCount; $index++) {
            $extension = substr($dirArray[$index], -3);
            if ($extension == 'jpg'){ // list only jpgs
                if ($i < 4) {
        echo '<td valign="top">
<center><a href="images/'.$dirArray[$index].'" rel="lightbox">
<img src="images/'.$dirArray[$index].'" width="200" >
</a><br>'.$dirArray[$index].'</td>';
        $i++;
    } elseif ($i == 4) {
        echo '</tr><tr>';
        $i = 0;
    }   
            }   
        } 
        ?>

  • 0
    У какого-нибудь файла есть расширение JPG? Другими словами, это расширение в верхнем регистре? Затем переименуйте все файлы в нижний регистр, это лучший вариант или добавьте свой if к этому if ($extension == 'jpg' || $extension == 'JPG')
  • 0
    Нет - сначала я проверил это, и все файлы имеют расширение .jpg.
Показать ещё 1 комментарий
Теги:
arrays
image

1 ответ

2
Лучший ответ

Проблема здесь. Некоторые из них не распечатываются, потому что они не соответствуют запросу if перед elseif.

} elseif ($i == 4) {
    echo '</tr><tr>';
    $i = 0;
}

Замените elseif if

  • 0
    БИНГО! Это сделал это! Большое спасибо!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню