Отображение возраста блога

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

На самом деле все просто. Для отображения возраста блога, в то место, где вы хотите, чтобы он отображался  надо вставить следующий код:

[sourcecode language='php']

< ?
$base_day        = 22;
$base_mon        = 3;
$base_yr        = 2009;
$current_day        = date ("j");
$current_mon        = date ("m");
$current_yr        = date ("Y");
$base_mon_max        = date ("t",mktime (0,0,0,$base_mon,$base_day,$base_yr));
$base_day_diff         = $base_mon_max - $base_day;
$base_mon_diff         = 12 - $base_mon - 1;
$start_day        = 1;
$start_mon        = 1;
$start_yr        = $base_yr + 1;
$day_diff    = ($current_day - $start_day) + 1;
$mon_diff    = ($current_mon - $start_mon) + 1;
$yr_diff    = ($current_yr - $start_yr);
$day_diff    = $day_diff + $base_day_diff;
$mon_diff    = $mon_diff + $base_mon_diff;
if ($day_diff >= $base_mon_max)
{
$day_diff = $day_diff — $base_mon_max;
$mon_diff = $mon_diff + 1;
}
if ($mon_diff >= 12)
{
$mon_diff = $mon_diff — 12;
$yr_diff = $yr_diff + 1;
}
print "Моему блогу: «;
$years = „лет“;
$days = „дней“;
if ($yr_diff == „1“) $years = „год“;
if ($yr_diff == „2“) $years = „года“;
if ($yr_diff == „3“) $years = „года“;
if ($yr_diff == „4“) $years = „года“;
if ($day_diff == „1“) $days = „день“;
if ($day_diff == „21“) $days = „день“;
if ($day_diff == „22“) $days = „дня“;
if ($day_diff == „23“) $days = „дня“;
if ($day_diff == „24“) $days = „дня“;
if ($day_diff == „31“) $days = „день“;
if ($day_diff == „2“) $days = „дня“;
if ($day_diff == „3“) $days = „дня“;
if ($day_diff == „4“) $days = „дня“;
print $yr_diff.» «.$years.», «;
print $mon_diff.» мес. и  «;
print $day_diff.» ".$days;
print
"
";
print «Блог появился „.$base_day.“. „.$base_mon.“. „.$base_yr.“»;
print
"
";
?>

[/sourcecode]

Для адаптации кода возраста блога под свою дату, надо в строках 02, 03, 04 вставить свои значения дня, месяца и года появления блога на свет, соответственно. Больше каких либо действий не требуется. Единственное, что можно сделать, это изменить текст в строках 29, 46. Пример отображения возраста моего блога можете посмотреть в правом сайдбаре под календарем.

Если вы каким либо образом можете улучшить скрипт отображения возраста блога, напишите об этом в комментариях. Вам будут благодарны очень многие.

Related Blogs

  1. Владимир

    Прикольная штучка. Евгений, в статье сказано, что можно вписать в любое место. А в каком файле это делается ❓

    1. eavasi

      Если хочешь вписать в сайдбар, то в твоей теме это файл sidebar.php, расположенный в папке с твоей темой flexibility. Впиши в любое место, а потом двигай вверх вниз где больше понравится остановишься.

    2. eavasi

      Если что-то не получится, свистни, я помогу, у меня твоя тема есть, или вышли мне твой файл с сайдбаром, я тебе вставлю куда скажешь.

    3. eavasi

      Володя, было бы хорошо, если бы ты установил себе icq. Без него как без рук, или других органов чуйств. :mrgreen:

  2. Владимир

    Прикольная штучка. Евгений, в статье сказано, что можно вписать в любое место. А в каком файле это делается ❓

    1. eavasi Автор записи

      Если хочешь вписать в сайдбар, то в твоей теме это файл sidebar.php, расположенный в папке с твоей темой flexibility. Впиши в любое место, а потом двигай вверх вниз где больше понравится остановишься.

    2. eavasi Автор записи

      Если что-то не получится, свистни, я помогу, у меня твоя тема есть, или вышли мне твой файл с сайдбаром, я тебе вставлю куда скажешь.

    3. eavasi Автор записи

      Володя, было бы хорошо, если бы ты установил себе icq. Без него как без рук, или других органов чуйств. :mrgreen:

  3. Зайва Игорь Леонидович

    Вместо print лучше использовать echo, тем более, все строчки можно записать в одну... не понимал никогда, зачем столько строчек пишут — лишний код 😀 Вместо множества ИФ («если») также можно 2 строчки использовать, если между значениями поставить «or» — «или»:

    if ($yr_diff=="2" || $yr_diff=="3" || $yr_diff=="4") $years="года"; else $years="год";

    Ну, вот уже вместо 4-х строк 1. 🙂 ну и там дальше тоже насокращать можно... где-то в 1.5-2 раза короче получится 😉

    1. eavasi

      Я php понимаю почти по интуиции, только на основе институтских знаний Basic в 1992 году ( в котором я , кстати, преуспел тогда), поэтому благодарен за любую консультацию и подсказку.

      1. Зайва Игорь Леонидович

        Я тоже больше по интуиции 🙂 Просто синтаксис освоил, а чуть что, лезу в гугл или официальную справку. 😉

        Поставил так и работает, при этом код короче, а вот как автоматом определять дату сайта, чтоб вручную не ставить — для меня задача оказалась неподъемной:

        $base_day = 1;

        $base_mon = 10;

        $base_yr = 2008;

        $base_mon_max = date («t»,mktime (0,0,0,$base_mon,$base_day,$base_yr));

        $yr_diff = date («Y») — $base_yr — 1;

        $day_diff = date («j») + $base_mon_max — $base_day;

        $mon_diff = date («m») + 12 — $base_mon — 1;

        if ($day_diff >= $base_mon_max) {$day_diff=$day_diff-$base_mon_max; $mon_diff=$mon_diff+1;}

        if ($mon_diff >= 12) {$mon_diff=$mon_diff-12; $yr_diff=$yr_diff+1;}

        if ($yr_diff=="1") $years="год";

        elseif ($yr_diff>"1" && $yr_diff «1» && $day_diff «21» && $day_diff<"25") $days="дня";

        else $days="дней";

        echo "Блог lожден: ".$base_day.". ".$base_mon.". ".$base_yr.", живет: ".$yr_diff." ".$years.", ".$mon_diff." мес. и ".$day_diff." ".$days.".";

          1. eavasi

            А ты из отдельного файла инклудишь или прямо в сайдбар пишешь? Когда я у себя инклудил, у меня вместо выполнения кода выдавался его листинг.

          1. Зайва Игорь Леонидович

            Как нету? Всё там есть, просто не знаю, как тебе код вставить... наворотил тему (как я :smile:) — стандартные теги не работают. У меня всё ок... сейчас баг, сайдбар не грузится, а так можешь глянуть. Я просто код воткнул в сайдбар и всё... несколько строчек и все пучком.

            П.С. разберись с письмами, а то мне сейчас на один твой коммент аж 5 извещений пришло, обычно больше mht[ не приходило... Видать, из-за вложенности комментариев.

            1. eavasi

              У тебя Игорь, круто получилось, молодец. Так я и не добрался вчера до установки вкладок. Честно говоря, так с бухты барахты это делать нельзя, надо в фотошопе прорисовать как все будет выглядеть, чтобы потом без задержек все быстро сделать.

  4. Зайва Игорь Леонидович

    Вместо print лучше использовать echo, тем более, все строчки можно записать в одну... не понимал никогда, зачем столько строчек пишут — лишний код 😀 Вместо множества ИФ («если») также можно 2 строчки использовать, если между значениями поставить «or» — «или»:

    if ($yr_diff=="2" || $yr_diff=="3" || $yr_diff=="4") $years="года"; else $years="год";

    Ну, вот уже вместо 4-х строк 1. 🙂 ну и там дальше тоже насокращать можно... где-то в 1.5-2 раза короче получится 😉

    1. eavasi Автор записи

      Я php понимаю почти по интуиции, только на основе институтских знаний Basic в 1992 году ( в котором я , кстати, преуспел тогда), поэтому благодарен за любую консультацию и подсказку.

      1. Зайва Игорь Леонидович

        Я тоже больше по интуиции 🙂 Просто синтаксис освоил, а чуть что, лезу в гугл или официальную справку. 😉

        Поставил так и работает, при этом код короче, а вот как автоматом определять дату сайта, чтоб вручную не ставить — для меня задача оказалась неподъемной:

        $base_day = 1;

        $base_mon = 10;

        $base_yr = 2008;

        $base_mon_max = date («t»,mktime (0,0,0,$base_mon,$base_day,$base_yr));

        $yr_diff = date («Y») — $base_yr — 1;

        $day_diff = date («j») + $base_mon_max — $base_day;

        $mon_diff = date («m») + 12 — $base_mon — 1;

        if ($day_diff >= $base_mon_max) {$day_diff=$day_diff-$base_mon_max; $mon_diff=$mon_diff+1;}

        if ($mon_diff >= 12) {$mon_diff=$mon_diff-12; $yr_diff=$yr_diff+1;}

        if ($yr_diff=="1") $years="год";

        elseif ($yr_diff>"1" && $yr_diff «1» && $day_diff «21» && $day_diff<"25") $days="дня";

        else $days="дней";

        echo "Блог lожден: ".$base_day.". ".$base_mon.". ".$base_yr.", живет: ".$yr_diff." ".$years.", ".$mon_diff." мес. и ".$day_diff." ".$days.".";

          1. eavasi Автор записи

            А ты из отдельного файла инклудишь или прямо в сайдбар пишешь? Когда я у себя инклудил, у меня вместо выполнения кода выдавался его листинг.

        1. eavasi Автор записи

          Тут, Игорь, еще нету склонений слов день и год, или они по-старому реализованы?

          1. Зайва Игорь Леонидович

            Как нету? Всё там есть, просто не знаю, как тебе код вставить... наворотил тему (как я :smile:) — стандартные теги не работают. У меня всё ок... сейчас баг, сайдбар не грузится, а так можешь глянуть. Я просто код воткнул в сайдбар и всё... несколько строчек и все пучком.

            П.С. разберись с письмами, а то мне сейчас на один твой коммент аж 5 извещений пришло, обычно больше mht[ не приходило... Видать, из-за вложенности комментариев.

            1. eavasi Автор записи

              У тебя Игорь, круто получилось, молодец. Так я и не добрался вчера до установки вкладок. Честно говоря, так с бухты барахты это делать нельзя, надо в фотошопе прорисовать как все будет выглядеть, чтобы потом без задержек все быстро сделать.

    1. eavasi

      Дак а как в html, если программа на php написана, просто эту программу вписываешь в html код и все. PHP язык тем и хорош, что он встраивается в html и работает там без всяких проблем, главное, когда php вставляешь в html не забыть окружить его тегами

    1. eavasi Автор записи

      Дак а как в html, если программа на php написана, просто эту программу вписываешь в html код и все. PHP язык тем и хорош, что он встраивается в html и работает там без всяких проблем, главное, когда php вставляешь в html не забыть окружить его тегами

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

Ваш e-mail не будет опубликован.