ЛІЧИЛЬНИК ВІДВІДИН

Команди, що використовуються в сценарії лічильника відвідин, вам мають бути вже знайомі з попередніх глав, тому обмежуся короткими коментарями до кожного рядка.
Початок сценарію:

<?php

Вкажемо ім'я теки, де зберігатиметься файл лічильника, і його ім'я, записавши їх у відповідні змінні:

$dirct="foldcount"; $cnt="counter.php";

В тому випадку, якщо файл лічильника існує (тобто візит на сторінку і спрацьовування даного сценарію - не перші)...

if (file_exists("$dirct/$cnt")==True) {

рахуємо число з файлу і запишемо його в змінну $sr. Її ми потім виведемо на сторінку як показник числа відвідин, а також, збільшивши на 1, отримаємо число відвідин, включаючи дане.

$hdl = fopen("$dirct/$cnt", "r+");
$sr = fread($hdl, filesize("$dirct/$cnt"));
fclose($hdl);
$sr++;
}

 

Примітка:
Для того, щоб з програми на РНР рахувати вміст якого-небудь файлу або записати в нього дані, цей файл потрібно спочатку відкрити - командою fopen (такий вже влаштований РНР). При цьому відкритому файлу привласнюється якесь "внутрішнє імя"' - так званий дескриптор, і саме його повертає функція /open. Перший параметр /open - ім'я файлу (разом з відносним або абсолютним дорогою до нього), другий - спосіб відкриття файлу.
Залежно від другого параметра функції fopen файл може бути відкритий по-різному - для читання, для запису, з очищенням вмісту чи ні. Можливі параметри fopen такі:
• г - відкрити файл лише для читання і приготуватися читати його з початку.
• г+ - відкрити файл для читання і для запису і приготуватися працювати з ним з його початку.
• w - відкрити файл лише для запису, заздалегідь видаливши з нього весь вміст, причому якщо файл з вказаним ім'ям не існує, то створюється новий файл з таким ім'ям.
• w+ - відкрити файл як для запису, так і для можливого подальшого читання, заздалегідь видаливши з нього весь вміст, причому якщо файл з вказаним ім'ям не існує, то створюється новий файл з таким ім'ям.
• а - відкрити файл лише для запису і приготуватися дописувати дані в його кінець. Якщо файл з вказаним ім'ям не існує, то створюється новий файл з таким ім'ям.
• а+ - відкрити файл для запису і для читання і приготуватися дописувати дані в його кінець. Якщо файл з вказаним ім'ям не існує, то створюється новий файл з таким ім'ям.
Файл, що відкривається, може розташовуватися і на видаленому сервері - в цьому випадку oft буде доступний лише для читання незалежно від параметрів відкриття файлу. Дорога до файлу у такому разі слід вказувати повністю - починаючи з http:// або ftp://.

Якщо ж файлу з лічильником немає, тобто відвідин раніше не було...

else

Справедливості ради варто сказати, що така фраза не зовсім коректна по суті, але для практичної роботи подібний погляд цілком можна використовувати. 182
Глава 12. PHP: корисні дрібниці те просто привласнимо змінною з відомостями про кількість відвідин значення 1.

$sr=l;

Виведемо на сторінку дані про число відвідувачів... echo ("Відвідувачів - $sr");
і, знову відкривши файл лічильника, але тепер уже для запису і очистивши весь його вміст (бачите параметр "w+"?), запишемо в нього значення змінної з відомостями про кількість відвідин:

$hdl2 = fopen("$dirct/$cnt", "w+");
fwrite($hdl2, $sr);
fclose($hdl2);

Ось, власне, і все (мал. 12.1).

Мал. 12.1. Лічильник відвідин - всього з десяток строчок

Даний сценарій можна універсалізіровать - тобто зробити так, щоб його можна було за допомогою команди include включити на будь-яку сторінку сайту, і він би записував зведення про відвідини кожної сторінки, на яку він включений, в свій окремий файл, не змішуючи їх з аналогічними відомостями для інших сторінок. Досить ясно, що для реалізації цього вистачає якось пов'язати ім'я лічильника з ім'ям сторінки. Можна скористатися тим же прийомом, що розглядався в гл. 9 для такого ж включення на будь-яку сторінку сценарію гостьової книги - замість що однозначно визначає ім'я файлу строчки

$cnt="counter.php";

слід вставити рядок, що визначає ім'я поточного файлу на основі значення змінної $PHP_SELF:

$cnt=substr(basename($PHP_SELF), 0 -4). "_cnt.php";

Цей код виділяє з адреси сторінки її ім'я (без розширення) і створює на його основі унікальне ім'я файлу лічильника (просто додаючи в кінець імені сторінки комбінацію символів "_cnt .php").

 
На правах реклами: 1 2

:: Меню ::

ГОЛОВНА

Введення

Небагато про Web-программировании

PHP: Історія. Місця. Джерела.

PHP: Основи

PHP: Вибіркове завантаження

PHP: Простий інтернет-магазин

PHP: Папкопотрошилка

PHP: Закачування файлів

PHP: Авторизація доступу

PHP: Гостьова книга

PHP: Система оцінки матеріалів

PHP: Файловий менеджер

PHP: Корисні дрібниці

PHP: Способи передачі даних між окремими сторінками

Висновок

Додаток 1. Перетвори свій сайт на портал

Додаток 2. Використовуй те, що під рукою - і не шукай завжди інше

Додаток 3. На сайті - як в "Вінде"


:: Реклама ::

  Настройка і оптимізація комп'ютера

 

:: Статистика ::

  Індекс цитування

:: Навігація ::

Головна

Гостьова книга

Додати у вишукане  

 

 

 


Copyright © Asentli, 2008