Я совершенно новичок в PHP, и я не хотел ничего спрашивать здесь, пока я не смог найти способ сделать это.
У меня есть ситуация, когда я хотел бы использовать PHP для чтения и отображения изображений из каталога, но я хотел бы, чтобы первое изображение, которое было прочитано, было уникальным для echo'd
Мой текущий код выглядит следующим образом:
$imageDir = "img/landMarks/carousel/"; $images = glob($imageDir.'*.jpg'); foreach ($images as $image){ echo '<div class="item">'."\r\n\t\t"; echo '<img src="'.$image.'" alt=""></div>'."\r\n\t";}
Просто прокрутка каталога и эхо с форматированием.
Это будет для карусели BootStrap, и, к сожалению, первое изображение в строке должно иметь <div class="item active">
или все это не удается.
Таким образом, чтобы повторить, первое вытащенное изображение должно быть <div class="item active">
то время как остальное должно быть <div class="item">
Кажется, я просмотрел целую пачку сигарет, размахивающих моим мозгом.
используйте для этого флаг. надеюсь помочь. (-:
$imageDir = "img/landMarks/carousel/"; $images = glob($imageDir.'*.jpg'); $flag=1; foreach ($images as $image){ echo '<div class="item' .($flag?' active':''). '">'.PHP_EOL."\t\t"; echo '<img src="'.$image.'" alt=""></div>'.PHP_EOL."\t"; $flag=0; }
Как насчет использования цикла for вместо цикла foreach. Когда index == 0 вы можете добавить «активный» в свой класс div.
Примечание. Я не запускал этот код, но он должен дать вам правильную идею.
$imageDir = "img/landMarks/carousel/"; $images = glob($imageDir.'*.jpg'); for($i = 0; $i < count($images); $i++){ //If the index is 0, it's the first image. $class = ($i == 0) ? 'item active' : 'item'; //Dynamically change your div's class echo "<div class='$class'>\r\n\t\t"; echo '<img src="'.$images[$i].'" alt=""></div>'."\r\n\t"; }