php foreach glob несколько расширений

Должен быть лучший способ написать это:

<?php $imagecounter = "no";
    foreach (glob("images/*.jpg") as $image)    {
    $imagecounter = "yes";
    }
    foreach (glob("images/*.png") as $image)    {
    $imagecounter = "yes";
    }
    foreach (glob("images/*.gif") as $image)    {
    $imagecounter = "yes";
    }
    if ($imagecounter == "yes"){Create gallery}?>

В этой папке также могут быть файлы zip или pdf, которые не должны создавать галерею

2 ответа

Решение
if(glob("images/*.{jpg,png,gif}", GLOB_BRACE))
{
  //create gallery
}

И это все:)

Я думаю, что вы хотите удалить цикл foreach и проверить, что в папке изображений любое расширение из "JPG, PNG, GIF". так что вы можете использовать троичный оператор. Вот пример кода.

$imagecounter = glob("img/*.jpg")?'yes':$imagecounter;
$imagecounter = glob("img/*.png")?'yes':$imagecounter;
$imagecounter = glob("img/*.gif")?'yes':$imagecounter;

if ($imagecounter == "yes"){Create gallery}

?> Если я ошибаюсь, дайте мне знать, приятель.

Другие вопросы по тегам