Счетчик посещений сайта Dokuwiki
Простейший счетчик для сайта (подсчет посещения любой страницы) без базы данных. Существует масса способов реализации счетчика просмотров страницы на PHP и в основном они работают с базой данных. Но если вам нужно прикрутить по-быстрому к одной странице счетчик посещений, то этот скрипт будет вам полезен. БД он не использует, а создает текстовый файл, в котором и хранит информацию о количестве просмотров. И, как обычно, предлагаю посмотреть как это выглядит на фото или в низу станицы.
Код счетчика
- PHP
<?php $file = file("count.txt"); $count = implode("", $file); $count++; $myfile = fopen("count.txt","w"); fputs($myfile,$count); fclose($myfile); ?> <span>Просмотров: <?=$count ?></span> // вывод счетчика
Править будем файл tpl_footer
расположенный Dokuwiki\lib\tpl\dokuwiki
с добавление стиля:
- CSS
.container { position: absolute; font-family: Georgia, 'Times New Roman', Times, serif; } .text-block { position: absolute; bottom: 0px; right: 4px; color: black; }
в файле tpl_footer
добавляем в блок <div class="buttons">
нижеприведенный код PHP
- PHP
<a> <?php $file = file("count.txt"); $count = implode("", $file); $count++; $myfile = fopen("count.txt","w"); fputs($myfile,$count); fclose($myfile); ?> <style> .container { position: absolute; font-family: Georgia, 'Times New Roman', Times, serif; } .text-block { position: absolute; bottom: 0px; right: 4px; color: black; } </style> <a class="container"> <span><img src="<?php echo tpl_basedir(); ?>images/button-yandex.png" width="85" height="15" alt="yandex" / > <div class="text-block"><?=$count ?></div> </span> </a> </a>
В папку с картинками загружаем нашу иконку с размером 80px x 12px. и в строке кода <img src="<?php echo tpl_basedir(); ?>images/button-yandex.png" width="85" height="15" alt="yandex" / >
прописываем путь к картинке. В моем случае это папка с шаблонами/картинки/
.
Я не стал стили (необходимы для наложения текста на картинку) выносить пока в отдельный файл, чтобы было все для примера в одном месте.
Тут добавлен блок-контейнер (<a class="container">
) для позиционирования в основном блоке (<div class="buttons">
) шаблона и добавления шрифта и цвета текста. $file = file("count.txt");
создает файл в корне Dokuwiki с записями о посещении страниц, при желании можете изменить ее расположение.
- PHP
<?php /** * Template footer, included in the main and detail files */ // must be run from within DokuWiki if (!defined('DOKU_INC')) die(); ?> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <?php tpl_license(''); // license text ?> <div class="buttons"> <?php tpl_license('button', true, false, false); // license button, no wrapper $target = ($conf['target']['extern']) ? 'target="'.$conf['target']['extern'].'"' : ''; ?> <a href="https://php.net" title="Powered by PHP" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> <a> <?php $file = file("count.txt"); $count = implode("", $file); $count++; $myfile = fopen("count.txt","w"); fputs($myfile,$count); fclose($myfile); ?> <style> .container { position: absolute; font-family: Georgia, 'Times New Roman', Times, serif; } .text-block { position: absolute; bottom: 0px; right: 4px; color: black; } </style> <a class="container"> <span><img src="<?php echo tpl_basedir(); ?>images/button-yandex.png" width="85" height="15" alt="yandex" / > <div class="text-block"><?=$count ?></div> </span> </a> </a> </div> <?php tpl_includeFile('footer.html'); ?> </div></footer><!-- /footer -->
Dokuwiki\lib\tpl\dokuwiki
. и нажав на картинку иконки сохранить как button-yandex.png в папке
Dokuwiki\lib\tpl\dokuwiki\images
. У кого текст убегает, ловим его в стиле:
- CSS
.container { position: absolute; font-family: Georgia, 'Times New Roman', Times, serif; //шрифт } .text-block { position: absolute; bottom: 0px; //устанавливает положение нижнего края right: 4px; //расстояние от правого края родительского элемента color: black; //цвет текста }
Ну и все…Наслаждаемся.