php MODX Snippet - 来自文件夹的随机图片[MODXСниппет - выводслучайногоизображенияиздиректории]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php MODX Snippet - 来自文件夹的随机图片[MODXСниппет - выводслучайногоизображенияиздиректории]相关的知识,希望对你有一定的参考价值。
<?php
$img_dir = (isset($dir)) ? $dir : ('/assets/img/staff/'); //папка с картинками
$img_ext = (isset($ext)) ? $ext : 'jpg'; //рассширение картинок
$error_img = (isset($errimg)) ? $errimg : ('/assets/img/error.jpg'); //картинка, если картинок нет
$mode = (isset($defimg)) ? $defimg : 1;
$img_array = array(); // Массив для названий изображений
$error = [
'not_img' => 'В папке нет картинок с расширением - ' . $img_ext,
'not_dir' => 'Переменная img_dir не содержит путь к папке',
];
if (is_dir(MODX_BASE_PATH . $img_dir)) { // Проверяем действительно ли переменная содержит путь к папке
if ($od = opendir(MODX_BASE_PATH . $img_dir)) { // Открываем папку
while ( ($file = readdir($od)) !== false ) { // Проверяем все файлы что находятся в папке
if ( strtolower(strstr($file, ".")) === "." . $img_ext ) { // Выделяем с всех файлов только изображения.
array_push($img_array, $file); // Если файл действительно имеет расширение изображения добавляем его в массив
}
}
if (empty($img_array)) {
$modx->log(MODX_LOG_LEVEL_ERROR, 'Snippet - random_foto: ' . $error['not_img']);
if ($mode) {
return '<img src="' . $error_img . '">';
} else {
return;
}
}
closedir($od); // Закрываем папку
}
} else {
$modx->log(MODX_LOG_LEVEL_ERROR, 'Snippet - random_foto: ' . $error['not_dir']);
if ($mode) {
return '<img src="' . $error_img . '">';
} else {
return;
}
}
$rd = rand(0, count($img_array)-1); // Получаем случайное число от 1 до количества записей в массиве
return '<img src=' . $img_dir.$img_array[$rd] . '>'; // Выводим изображение с директории
以上是关于php MODX Snippet - 来自文件夹的随机图片[MODXСниппет - выводслучайногоизображенияиздиректории]的主要内容,如果未能解决你的问题,请参考以下文章
Modx Evo / Debian 9:无法打开文件(/assets/cache//sitePublishing.idx.php)
ModX/PHP:在连接到数据库的根目录中有我自己的文件吗?
ModX 两个域,一个站点
php MODX所有资源都改变了模板
php 读取时间MODX输出滤波器。
php 读取时间MODX输出滤波器。