Розглянемо найпростіший текстовий лічильник, який підраховує загальну кількість відвідувань і виводить результат на екран.
Визначаємо шлях до файлу, в якому будуть зберігатися показання лічильника: #! / Usr / local / bin / perl #textcounter $ file = "counter1.txt";
Відкриваємо файл на читання, инициализируем лічильник і збільшуємо його значення на одиницю: open (STAT, "$ file"); $ Count =; close (STAT); $ Count ++;
Відкриваємо файл лічильника на запис і записуємо нове значення: open (STAT, "> $ file"); print STAT $ count; close (STAT);
І, нарешті, виводимо показання лічильника на екран: print "Content-type: text / htmlnn"; print $ count;
Якщо зберегти даний код в файлі counter1.cgi і відкрити його в браузері, то на екрані ми побачимо 1.Якщо перезавантажити сторінку, показання лічильника збільшиться на 1. Виводити результати лічильника можна як кому підкаже фантазія-або просто у вигляді числа, або вставити його в таблицю, іпользовать як бекграунду який-небудь фон і т.д. Вставити лічильник в html-сторінку можна, використовуючи SSI.Для цього в тому місці, де передбачається використовувати лічильник, вставте наступний код:
Лістинг прикладу 1.
#! / Usr / local / bin / perl #textcounter $ file = "counter1.txt"; open (STAT, "$ file"); $ Count =; close (STAT); $ Count ++; open (STAT, "> $ file"); print STAT $ count; close (STAT); print "Content-type: text / htmlnn"; print $ count;
Ускладнимо попередній приклад, наприклад, додавши запис в лог-файл, для збору статистики і зробимо так, щоб лічильник виводив результат у вигляді 6 цифр із заповненням попереду нулями, наприклад так: 000143 Попередня частина коду залишиться без змін, лише додамо змінну для кількості цифр результату. #! / Usr / local / bin / perl #textcounter $ file = "counter2.txt"; $ Dig_num = 6; open (STAT, "$ file"); $ Count =; close (STAT); $ Count ++; open (STAT, "> $ file"); print STAT $ count; close (STAT);
Далі додаємо наступне: open (DATA, ">> counter.log"); $ String = join ( '', $ ENV, $ ENV, scalar localtime); print DATA "$ stringn"; close (DATA);
Далі виводимо поточний час в більш читабельному формате.Оно буде використовуватися при визначенні кількості відвідувань за сьогодні. ($ Sec, $ min, $ hour, $ day, $ month, $ year, $ day2) = localtime (time); if ($ hour> counter.log "); $ string = join ( '', $ ENV, $ ENV, scalar localtime); print DATA" $ stringn "; close (DATA);
Прикладів можна навести множество.Наверное, кожен веб-програміст пише лічильники по-своєму. Але я думаю, що наведені приклади допоможуть вам зрозуміти основний принцип написання лічильників відвідувань і створити свій власний, подібних якому немає :)))