Вывод изображений из директории PHP
Введение | |
Обход директории | |
Показ изображения | |
Похожие статьи |
Введение
Рассмотрим функцию img_from_dir(), которая автоматически обходит директорию img и выводит все изображения с помощью функции local_img()
Обход директории
<?php $root = $_SERVER['DOCUMENT_ROOT']; require_once($root.'/.php/_modules/_local_img.php'); function img_from_dir( $img_dir, $p_class, $comments, $default_comment = "Источник: DevHops.ru") { $entries = scandir($img_dir); $i = 0; foreach ($entries as &$src) { $split = explode('.', $src); $name = $split[0]; $n = 7; $ending = substr($name, -$n); $ext = $split[1]; $allowed_ext = array('png', 'jpg'); if (in_array($ext, $allowed_ext) and ($ending !== "--small")) { if(isset($comments[$i])) { echo '<p class="'.$p_class.'">'.$comments[$i].'</p>'; } else { echo '<p class="'.$p_class.'">'.$default_comment.'</p>'; }; $path = $img_dir.'/'.$src; echo(local_img("w100", $path, "Источник www.devhops.ru", "", "Установка Ubuntu", "reg", "mt1")); $i++; } unset($src); } }
РЕКЛАМА хостинга Beget, которым я пользуюсь более десяти лет
Конец рекламы хостинга Beget, который я всем рекомендую.
Показ изображения
<?php # require_once($root.'/.php/_modules/_local_img.php'); # echo(local_img("w100", "/img/img", "alt", "caption", "caption_copy", "reg", "mt1")); function local_img( $class = "w100", $src, $alt = "img", $caption = "", $caption_copy = "", $align = "reg", $mt = "mt1") { $split = explode('.', $src); $name = $split[0]; $ext = $split[1]; $result = ''; if ($align == 'center') { $result .= '<div class="align-center">'; }; $result .= ' <figure class="figure1 '.$mt.'" itemscope itemtype="https://schema.org/ImageObject"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="'.$name.'--small.webp"> <source media="(min-width: 601px)" type="image/webp" srcset="'.$name.'.webp"> <source media="(max-width: 600px)" type="image/jpeg" srcset="'.$name.'--small.'.$ext.'"> <source media="(min-width: 601px)" type="image/jpeg" srcset="'.$name.'.'.$ext.'"> <img class="'.$class.'" src="'.$name.'--small.'.$ext.'" itemprop="contentUrl" alt="'.$alt.'"> </picture> <figcaption> '.$caption.' <br> <span class="copy"> '.$caption_copy.' </span> </figcaption> </figure> '; if ($align == 'center') { $result .= '</div>'; }; return $result; } ?>