Замена изображения(фона) по времени в минуту, час, времени дня, года, пример
Как сделать смену картинки по времени, время в данном случае особо не важно! Можно сделать смену картинки в минуту, в полчаса, в час, сутки и т.д! Здесь самая главная проблема получить столько картинок, чтобы они не повторялись!
Может ли быть, данная смена изображения, сменой заднего фона на сайте!? Естественно, только вместо вывода картинки ставим стили для заднего фона и соответственно картинка будет меняться на заднем фоне страницы сайта - это по моему логично! -> здесь о заднем фоне мы говорилиСмена картинки все способы
- Вообще о смене картинки по времени
- Каждую секунду выводить случайное изображение
- Как выводить новое изображение каждую минуту, каждый час!?
- Как выводить картинку в соответствии времени суток?!
- Смена картинки в зависимости от времени года!
- Смена картинок на сайте из папки с заранее неизвестным количеством
- Скачать
Вообще о смене картинки по времени
Как можно сменить картинку по времени!?
Как мимум в такой постановке вопроса - у нас две переменные... это время и адрес картинки!
Любое время можно получить, в любом языке программирования!
А вот относительно картинки, можно например, пойти двумя путями!
И второй пункт можно поделить еще на два пункта... выдавать картинку случайным образом, либо по счету!
Если интересно, то давайте продолжим!
Каждую секунду выводить случайное изображение
Начнем с вывода картинки посекундно + случайно...
Чтобы выводить картинку посекундно случайно - надо иметь много картинок в папке! У нас есть такая папка, куда сложены картинки с главной
Получим в переменную scandir, все элементы из папки
$array_img = array();
for($i = 0; $i < count($arr); $i++)
{
if(trim($arr[$i]) != '.' && trim($arr[$i]) != '..' )
{
$array_img[]= $arr[$i];
}
}
В любую переменную сложим случайно выбранное значение массива:
И выведем в коде картинки:
Соберем весь код вместе:
$arr = scandir( $home . '/__img/__img_rotate');
$array_img = array();
for($i = 0; $i < count($arr); $i++)
{
if(trim($arr[$i]) != '.' && trim($arr[$i]) != '..' )
{
$array_img[]= $arr[$i];
}
}
$perem = $array_img[array_rand($array_img)] ;
echo '<img src="/_data/ir/'.$perem.'">';
Результат вывода каждую секунду новая картинка:
В данном случае, при выводе посекундно - новой картинки, никакого скрипта по времени добавлять и не нужно! Просто перезагружаем и через секунду будет загружается новое случайное изображение!
Как выводить новое изображение каждую минуту, каждый час!?
Мы выводили случайную картинку из массива, который и не опубликовали... давайте выведем весь массив картинок, который м ы получали в предыдущем пункте:
Результат:
Array
(
[0] => 300.png
[1] => 404.jpg
[2] => FileZilla.png
[3] => aimp.png
[4] => alfabet.png
[5] => atom.png
[6] => audio.png
[7] => back-top-black.png
[8] => bbcode.png
[9] => board.png
[10] => browsers.png
[11] => canvas.png
[12] => chart.png
[13] => comment.png
[14] => comments.png
[15] => comments_1_3.png
[16] => computer.png
[17] => css.png
[18] => ctrl_plus_enter.png
[19] => database.png
[20] => date.png
[21] => directadmin.png
[22] => dosite.png
[23] => download.png
[24] => dreamweaver.png
[25] => dw-mager.png
[26] => dw-month.png
[27] => dw-year.png
[28] => dw_admin.png
[29] => dw_admin_1_1.png
[30] => dw_admin_2_1.png
[31] => dw_admin_black.png
[32] => dw_blocks.png
[33] => dw_calc.png
[34] => dw_comments.png
[35] => dw_copy.png
[36] => dw_counter_2_0.png
[37] => dw_encode.png
[38] => dw_hide_and_show.png
[39] => dw_skripts.png
[40] => dw_time.png
[41] => dw_youtube.png
[42] => dwform.png
[43] => dwweb.png
[44] => dwweb.ru.png
[45] => encode.png
[46] => engine.png
[47] => flags.png
[48] => font.png
[49] => fontawesome.png
[50] => forum.png
[51] => ftp.png
[52] => function.png
[53] => ggsel.com.png
[54] => google.png
[55] => hosting.png
[56] => htaccess.png
[57] => html.png
[58] => i.png
[59] => iframe.png
[60] => info.png
[61] => jquery.png
[62] => js.png
[63] => js_event.png
[64] => js_jquery.png
[65] => js_keyboard.png
[66] => jsphp.png
[67] => letyshops.png
[68] => link.png
[69] => marrex.png
[70] => math.png
[71] => mistake.png
[72] => more.png
[73] => mouse.png
[74] => news.jpg
[75] => news.png
[76] => no_img.png
[77] => notepad.png
[78] => notepad_0.png
[79] => ok.png
[80] => online.png
[81] => osclass.png
[82] => page.png
[83] => php.png
[84] => qr_kod.png
[85] => question.png
[86] => reg.ru.png
[87] => reyting.png
[88] => robots_txt.png
[89] => rsya.png
[90] => ruweb.net.png
[91] => scripts.png
[92] => server.png
[93] => sublime_text_3.png
[94] => svg.png
[95] => table.png
[96] => time.png
[97] => units.png
[98] => video.png
[99] => visual_studio_code.png
[100] => web.png
[101] => webp.png
[102] => xml.png
[103] => yandex.png
[104] => yandex_webmaster.png
[105] => yoomoney.png
[106] => youtube.png
)
Вы должны спросить - зачем я вывел весь массив с картинками! Он нам понадобится для вывода картинки по списку подряд пойдем сверху вниз...
Нам понадобится две переменные, которые не умрут после перезагрузки страницы - можно использовать сессии!
У нас будет 2 сессии
Как только он достигнет конечного значения массива он будет равен 0!
У нас время будет в секундах - это time(), при условии что прошло времени больше, чем
Если условие выполняется, то в переменную $_SESSION[counter] делаем плюс 1!
И в наш timer добавляем текущее количество секунд + 60.
А картинка будет уже выводиться по номеру
И в самом конце выводим картинку...
Соберем весь код вместе:
if(!$_SESSION[counter]){$_SESSION[counter]=0;}
if(time() > $_SESSION[timer] + 60)
{
$_SESSION[counter]++;
$_SESSION[timer] = time() + 60;
}
if($_SESSION[counter] == count($array_img)){$_SESSION[counter]=0;}
echo '<img src="/_data/ir/'.$array_img[$_SESSION[counter]].'">';
Результат вывода картинки через минуту! Сейчас
Как выводить картинку в соответствии времени суток?!
Для того, чтобы выводить картинку в соответствии со временем суток, нам нужно эти время суток определить - их 4, утро, день, вечер, ночь.
У нас есть 4 картинки, которые мы ранее использовали в слайдереday.png
evening.png
morning.png
night.png
Далее нам потребуются условия, по которым мы будем определить, какое время суток сейчас...
Если date('G')(время в часах без ведущих нулей) менее 6, то присваиваем нашей переменной картинку утро.
if( date('G') < 6)
{
$path = 'morning.png';
}
Как только станет 7, то скрипт пойдет далее... и наткнется на условие, но уже меньше 12, то тогда у нас наступит день... загружаем картинку день!
Как только время пересчет отметку 12 - это будет вечер, выводим картинку вечер, если более 18, то выводим картинку ночь!
Это очень простой скрит...
if( date('G') < 6)
{
$path = 'night.png';
}
elseif(date('G') < 12 )
{
$path = 'morning.png';
}
elseif(date('G') < 18)
{
$path = 'day.png';
}
else
{
$path = 'evening.png';
}
echo '<img src="/__img/php/img_php/'. $path .'">';
Результат вывода картинки в зависимости от времени суток:
СейчасСмена картинки в зависимости от времени года!
Для смены картинки по времени года, нам потребуются опять какие-то картинки, их будет опять как и в предыдущем пункте 4:
autumn.png
spring.png
summer.png
winter.png
На 99% предыдущий скрипт, единственное заменяем букву
if( date('n') < 3)
{
$season= 'winter.png';
}
elseif(date('n') < 6 )
{
$season= 'spring.png';
}
elseif(date('n') < 9)
{
$season = 'summer.png';
}
else
{
$season= 'autumn.png';
}
echo '<img src="/__img/php/img_season/'. $season.'">';
Результат вывода картинки в зависимости от времени года:
Сейчас переменная
Смена картинок на сайте из папки с заранее неизвестным количеством
О Смене картинок на сайте из папки с заранее неизвестным количеством не было написано, но вопрос интересный!
На самом деле - это очень просто если понимать алгоритм!
Нужно получить все картинки в массив, мы несколько раз касались темы файлов в папке либо scandir + если это картинки, то можно выставить соответствующий фильтр для получения картинок по расширению!
Создаем условие фильтрации картинок, пусть это будет разрешение
Ну собственно вы получили картинки из папки, теперь нужно выбрать по какому принципу выдавать смену картинки... это чуть ниже давайте соберем весь код, который вы наверное и не знаете как будет выглядеть.
$home = $_SERVER['DOCUMENT_ROOT'];
$dir = $home . '/путь до папки/';
$array_img = scandir($dir);
$new_array = array();
for ($i=0; $i < count($array_img); $i++) {
if(substr_count($array_img[$i], '.png ')){ $new_array[] = $array_img[$i];}
}
Условий может быть огромное количество... их все не переберешь, чтобы найти ваш...
Как один из примеров использования такого массива -> вывод картинки спискомСвои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже: