Официальный сайт студ.городка НГТУ
Программирование и БД » [PHP]Как можно менять картинки автоматически с учетом систем. времени? 

#1  16.04.07 22:26

[PHP]Как можно менять картинки автоматически с учетом систем. времени?

Прошу прощения, если тема немного некорректно сформулирована.
Вопрос такой. Есть четыре файла (фотографии) с добавлением на флеше анимации: leto, osen, zima, vesna. Один из этих файлов расположен на веб-странице сайта. Нужно, чтобы с наступлением нового времени года его автоматически сменял другой файл.
Слышал, что это делается с помощью использования системного времени. Что нужно написать скрипт.. но я в этом деле ничего не понимаю.
Подскажите, пожалуйста.

Offline

#2  17.04.07 00:19

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Код: php:

$month = strftime("%m"); // номер месяца в 10-чном формате (1-12)
if ($month < 3 || $month == 12)
   $weather = "zima";
else if ($month >=3 && $month < 6)
   $weather = "vesna";
else if ($month >=6 && $month < 9)
   $weather = "leto";
else
   $weather = "osen";

Offline

#3  17.04.07 08:48

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Спасибо огромное!

Offline

#4  17.04.07 09:36

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Karminsky, на switch наглядней бы было :)

Offline

#5  17.04.07 10:07

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

weather - это погода
season - это время года

Программист должен писать на нормальном языке :)

Offline

#6  17.04.07 18:51

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

можно яваскриптом

Offline

#7  17.04.07 18:57

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

MrYo-Yo написал(а):

можно яваскриптом

А смысл?

Offline

#8  17.04.07 21:51

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

iDrum написал(а):

Karminsky, на switch наглядней бы было :)

Специально для тебя, Димка:

Код: php:

$month = strftime("%m");
 
switch ($month) {
case 12: case 1: case 2:
   $season = 'winter';
   break;
case  3: case 4: case 5:
   $season = 'spring';
   break;
case 6: case 7: case 8:
   $season = 'summer';
   break;
case 9: case 10: case 11:
   $season = 'autumn';
   break;
}

Offline

#9  17.04.07 21:57

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

А если abs(($month - 1)/4) и кейсы сократить в 3 раза, так выдет?

Offline

#10  17.04.07 23:17

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

<Камышовый> написал(а):

А если abs(($month - 1)/4) и кейсы сократить в 3 раза, так выдет?

Я преследовал идею наглядности :)

Offline

#11  18.04.07 01:00

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Не, ну мне простоб знать, вылезет такое или нет? =))

Offline

#12  18.04.07 13:56

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

<Камышовый>,
ну, если уж задуряться ;)

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$picture = $seasonPictures[(($season = date('n')%3) != 4 ? $season : 0)];

Offline

#13  18.04.07 14:13

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Читабельность резко упала. Нафиг (:

Offline

#14  18.04.07 14:41

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Malkolm написал(а):

Читабельность резко упала. Нафиг (:

ну понятно дело ) я ж чтоб позадурятся :)
можно чуток почитабельней

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$season = date('n')%3 != 4 ? date('n')%3 : 0;
$picture = $seasonPictures[$season];

Offline

#15  18.04.07 14:54

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Знаешь, с кейсами было гораздо читабельнее. Хотя вы правы, улучшать скрипты таким образом - отдельное исскуство, измеряемое в днях, которые потребуются следующему за вами специалисту, дабы понять их (:

Offline

#16  18.04.07 15:41

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

А если так:

Код: php:

$seasonPictures = array('winter.jpg', 'winter.jpg', 'spring.jpg', 'spring.jpg', 'spring.jpg', 'summer.jpg', 'summer.jpg', 'summer.jpg', 'autumn.jpg', 'autumn.jpg', 'autumn.jpg', 'winter.jpg');
$picture = $seasonPictures[strftime("%m")];


? %)))

Offline

#17  18.04.07 16:13

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Karminsky, точно!

Код: php:

$months = array("Нулябрь", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");

Offline

#18  18.04.07 16:19

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Malkolm написал(а):

Знаешь, с кейсами было гораздо читабельнее. Хотя вы правы, улучшать скрипты таким образом - отдельное исскуство, измеряемое в днях, которые потребуются следующему за вами специалисту, дабы понять их (:

фигня все, если расписать все в виде

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg', 'winter.jpg');
$quarter = date('n') % 3;
$picture = $seasonPictures[$quarter];

или

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$quarter = date('n') % 3;
if ($quarter == 4)
    $quarter = 0;
$picture = $seasonPictures[$quarter];

то все становится ясно

Offline

#19  18.04.07 16:22

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

XuMiX написал(а):

Karminsky, точно!

Точняк... Нулябрь забыл! :(

Offline

#20  18.04.07 16:39

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Код: php:

$month = strftime("%m");
$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg', 'winter.jpg');
$seasonPictures [(int)($month/3)];

PS плять, пока курить ходил мою идею раньше меня выложили

Исправлено Malkolm (18.04.07 16:42)

Offline

#21  18.04.07 17:30

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

XuMiX написал(а):

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$quarter = date('n') % 3;
if ($quarter == 4)
    $quarter = 0;
$picture = $seasonPictures[$quarter];

то все становится ясно

И каким это местом работает? Тестировать не пробовал, допустим на октябре?

Offline

#22  18.04.07 17:37

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

да они уже филосовствуют, там уже не решение задачи а коры пошли(просто знак деления мигрировал в %). но я бы сделал у малкомна %4 всемсто 5 элемента.

Offline

#23  18.04.07 17:57

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Stell Hawk написал(а):

да они уже филосовствуют, там уже не решение задачи а коры пошли(просто знак деления мигрировал в %). но я бы сделал у малкомна %4 всемсто 5 элемента.

верняг! :)

Код: php:

$month = strftime("%m");
$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$picture = $seasonPictures[(int)($month/3) % 4];

Исправлено Malkolm (18.04.07 17:57)

Offline

#24  18.04.07 18:00

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Такое ощущение, что я тут один эти скрипты перед тем как выложить - тестирую на сервере. (Ж

Offline

#25  18.04.07 19:06

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

:)))))

Offline

#26  18.04.07 19:37

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Код: php:

$month = strftime("%m");
$season = ($month == 12 || $month == 1 || $month == 2) ? 'winter' : ($month > 2 && $month < 6) ? 'spring' : ($month > 5 && $month < 9) ? 'summer' : 'autumn';


Ещё как вариант :)

Offline

#27  18.04.07 20:30

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

XuMiX написал(а):

<Камышовый>,
ну, если уж задуряться ;)

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$picture = $seasonPictures[(($season = date('n')%3) != 4 ? $season : 0)];

имхо, наиболее симпатичный вариант, оптимизированный по времени исполнения)))

Кстати, вполне читабельный... Хотя, это наверное просто я извращенец..

Offline

#28  19.04.07 07:56

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

<Камышовый> написал(а):

XuMiX написал(а):

<Камышовый>,
ну, если уж задуряться ;)

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$picture = $seasonPictures[(($season = date('n')%3) != 4 ? $season : 0)];

имхо, наиболее симпатичный вариант, оптимизированный по времени исполнения)))

Кстати, вполне читабельный... Хотя, это наверное просто я извращенец..

Он нерабочий.

Offline

#29  19.04.07 13:36

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Malkolm написал(а):

Он нерабочий.

ну попутал немного, так легче?

Код: php:

$seasonPictures = array('winter.jpg', 'spring.jpg', 'summer.jpg', 'autumn.jpg');
$picture = $seasonPictures[(($season = floor(date('n')/3)) != 4 ? $season : 0)];

тоесть надо тупо date('n')%3 заменить на floor(date('n')/3) и все будет пахать

Offline

#30  19.04.07 15:29

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Угу. Не сочтите за глупость, но писать всегда правильный код - хорошая практика (:

Offline

#31  19.04.07 15:41

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

писать всегда правильный код - фантастика

Offline

#32  19.04.07 16:08

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

XuMiX написал(а):

писать всегда правильный код - фантастика

Но явно пренебрегать правилами не стоит, согласись.

Offline

#33  19.04.07 18:10

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Malkolm написал(а):

Но явно пренебрегать правилами не стоит, согласись.

соглашусь, просто правил, вроде как, не было указано ;) к тому же, в этом случае правила не при чем

Offline

#34  19.04.07 19:55

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Malkolm, даланате! Я, допустим, идею понял. Больше и не надо ниче))

Offline

#35  20.04.07 09:53

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Вы меня тут за сноба приняли что ли?

Offline

#36  21.04.07 00:45

Re: [PHP]Как можно менять картинки автоматически с учетом систем. времени?

Тем из серии "Кто сможет умножить 2 на 2" наибольшим количеством способов... :)
P.S.
На счёт того, что читабельнее - каменты к коду как всегда рулят.... :)

Offline

Программирование и БД » [PHP]Как можно менять картинки автоматически с учетом систем. времени? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.319 сек.
Выполнено 14 запросов.