Чтение изображений из каталога с помощью PHP

Возможно ли это с PHP внутри WordPress.

В принципе, если у меня есть каталог на моем сайте под названием «promos», который состоит из 1-го множества изображений (поскольку эти изображения могут меняться), которые я хотел бы прочитать из файла PHP в настройке карусели, то есть что-то похожее на это:

<div class="scrollable" id="browsable"> <div class="items"> <?php $tot_images_from_promo_dir = [get_total_image_count_in_promos_dir]; for ( $counter = 1; $counter <= $tot_images_from_promo_dir; $counter ++) { echo "<div>"; echo "<a href="#"><img src="[image_from_promo_directory]" /></a> echo "</div>"; } ?> </div> </div> 

Надеюсь, что это имеет смысл, но в основном хотят как-то с php прочитать общее количество изображений в моем промо-каталоге, а затем использовать это общее количество в максимальном значении цикла и прочитать каждое имя файла изображения в промо-каталоге и перейти в мой

Было бы очень полезно использовать синтаксис php для этого.

Благодарю.

Предполагая, что все файлы в каталоге promos являются изображениями:

 <div class="scrollable" id="browsable"> <div class="items"> <?php if ($handle = opendir('./promos/')) { while (false !== ($file = readdir($handle))) { echo "<div>"; echo "<a href='#'><img src='".$file."' /></a>"; echo "</div>"; } closedir($handle); } ?> </div> </div> 

Однако, если в каталоге есть файлы, которые не являются изображениями, вам нужно будет проверить это, прежде чем показывать его. Цикл while должен измениться на что-то вроде:

 while (false !== ($file = readdir($handle))) { if ((strpos($file, ".jpg")) || (strpos($file, ".gif"))) { echo "<div>"; echo "<a href='#'><img src='".$file."' /></a>"; echo "</div>"; } } 

Мой способ сделать это с помощью opendir

 <div class="scrollable" id="browsable"> <div class="items"> <?php $c=0; if ($handle = opendir('promo')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $images[$c] = $file; $c++; } } closedir($handle); } for ($counter = 0; $counter <= count($images); $counter ++) { echo "<div>"; echo '<a href="#"><img src="'.$image[$counter].'" /></a>'; echo "</div>"; } ?> </div> </div> 

Перейдите к http://www.php.net/manual/en/ref.dir.php и посмотрите, в частности, на функцию скандинава. Вы можете использовать что-то вроде:

 $images = array(); foreach (scandir('somewhere') as $filename) if (is_an_image($filename)) $images[] = $filename; 

Вы можете написать функцию is_an_image ().

Как насчет класса DirectoryIterator?

 <div class="scrollable" id="browsable"> <div class="items"> <?php foreach (new DirectoryIterator('folder/goes/here') as $file): ?> <?php if($file->isDot || !$file->isReadable()) continue; ?> <div><a href="#"><img src="filepath/<?php echo $file->getFilename(); ?>" /></a></div> <?php endforeach; ?> </div> </div> 

Я использую glob для таких операций

 <div class="scrollable" id="browsable"> <div class="items"> <?php $images = glob("path_to_folder/*.{gif,jpg,png}", GLOB_BRACE); for ( $counter = 1; $counter < sizeof($images); $counter ++) { echo "<div>"; echo '<a href='#'><img src=".$images[$counter]." /></a>'; echo "</div>"; } ?> </div> </div> 

Этот код предоставит изображения из каталога под названием "imagfolder"

 if($handle = opendir(dirname(realpath(__FILE__)).'/imagefolder/')){ while($file = readdir($handle)){ if($file !== '.' && $file !== '..') { echo '<div id="images">'; echo '<img src="imagefolder/'.$file.'" border="0" />'; echo '</div>'; } } closedir($handle); }