Понедельник, 10 октября 2016 22:25

Про Liffect - jQuery effects for lists, php и scandir

Оцените материал
(3 голосов)

 

Продолжение рассказа о Liffect - effect for lists; рассмотрим вполне возможную ситуацию, в силу которой программист слишком ленив, чтобы вручную создавать маркированный список, содержащий перечень сотни небольших размеров изображений (логотипов, например) - не барское, типа того, дело; в этом случае самое простое, что можно порекомендовать - это, вероятно, scandir, функция php для работы с каталогами. Рабочие примеры liffect.js и стилей приведены на форуме, здесь же - рассмотрим примеры HTML и php, способные выглядеть, допустим, таким вот образом... итак, получаем и выводим в маркированный список названия всех файлов, находящихся в определенной директории, исключая при этом названия каталогов:

 

<!DOCTYPE HTML>
<html>
<head>
<script src="/jquery.min.js"></script>
<script src="/liffect.js"></script>
<link href="/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<ul data-liffect="pageBottom">
<?php
$dir = '../images/partnery';
$files = array_diff( scandir( $dir), array('..', '.'));
foreach ($files as $a) {
$i++;
echo "<li><img src=\"../images/partnery/" . $a . "\"" . "/></li>";
}
?>
</ul>
</body>
</html>

 

Удобно, согласитесь. И скрипт не только эффектно выглядит, но и вполне адаптивен к пропорциям странички.  К слову, ничто не мешает нам, идя в ногу со временем и используя концепцию ООП, применить здесь вместо scandir - какой-либо FilesystemIterator из библиотеки SPL, например RegexIterator; что легко дает нам возможность фильтровать результат на основе регулярных выражений:

 

<?php
$iterator = new FilesystemIterator("../images/partnery");
$filter = new RegexIterator($iterator, '/\.(gif|jpg|jpeg|png)$/');
$filelist = array();
foreach($filter as $a) {
$filelist[] = $a->getFilename();
echo "<li><img src=\"" . $a . "\"" . "/></li>";
}

 

Минутка рекламы. Внимание, сайты-визитки и любые эксклюзивные разработки - это всегда актуально! - и даже в эпоху кризиса. Интернет-магазины, корпоративные сайты, все это - для вас и вашего бизнеса. Попробуйте!

Последнее изменениеПонедельник, 15 января 2018 12:15

Оставить комментарий

Добавьте ваш комментарий

Заказать сайт

Веб-разработка. Заказать сайт

Вы можете заказать сайт-визитку, блог, корпоративный сайт, интернет-магазин или коммерческий web-портал.