00:00:00




Сколько сейчас на сайте

Скрипт слайдера  |   Zip распаковщик  |   Скрипт счетчик  |   Скрипт Обр. связи  |   Нажмите, чтобы увеличить

Ротатор рекламных материалов AVL  |   Сколько сейчас на сайте  |   Ваш комментарий или вопрос

Мой скрипт счетчик "Сколько сейчас на сайте" простой и надежный. В его пользу
несколько важных плюсов:
1) Скрипт работает без базы данных, информация хранится в файле.

2) Не использует сессию, нет лишней нагрузки на сервер.

3) Не использует куки, их часто люди отключают.

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

В интернете много похожих скриптов, но мой с правильной работой с файлом.
Без ошибок, которые приводят к сбросу информации (счета) или к другим последствием.

Лучше создать отдельный файл для скрипта в закрытой папке от пользователей и
подключить его с помощью include или require, чтобы бы не вписывать большой код в
ваш шаблон.

Вот сам PHP код:

< ?php $ip=getenv("REMOTE_ADDR"); if ($ip!="") { //текущее время $CurrentTime = time(); //через какое время ip удаляются $LastTime = time() - 600; //файл, в котором храним ip и время $puthcount = $_SERVER['DOCUMENT_ROOT'] . '/include/seans.txt'; fclose(fopen($puthcount, "a")); $file = file($puthcount); $k = 0; for ($i = 0; $i < sizeof($file); $i++) { $stroka = $file[$i]; $line = explode("|", $stroka); if ($line[1] > $LastTime) { $ResFile[$k] = $stroka; $k++; } } for ($i = 0; $i < sizeof($ResFile); $i++) { $stroka = $ResFile[$i]; $line = explode("|", $stroka); if ($line[0]==$ip) { $line[1] = trim($CurrentTime)."\n"; $is_ip_in_file = 1; } $linen = implode("|", $line); $ResFile[$i] = $linen; } $fol = fopen($puthcount, 'r+'); flock($fol, LOCK_EX); ftruncate ($fol, 0); fseek ($fol, 0, SEEK_SET); for ($i = 0; $i < sizeof($ResFile); $i++) { fputs($fol, $ResFile[$i]); } fflush($fol); flock($fol, LOCK_UN); fclose($fol); if (!$is_ip_in_file) { $fp = fopen($puthcount, "a"); flock($fp, LOCK_EX); $line = $ip."|".$CurrentTime."\n"; fputs($fp, $line); fflush($fp); flock($fp, LOCK_UN); fclose($fp); } } ? >

Вот код вывода результата счета на страницах сайта:

< ?php echo "Сейчас на сайте: <b>".sizeof(file($puthcount))."</b>"; ? >

Скрипт бесплатный и устанавливать можете на любое количество ваших сайтов,
но распространять можно только с присутствием ссылки на этот сайт,
с место распространения.   Удачи! Алексей.


Скрипт слайдера  |   Zip распаковщик  |   Скрипт счетчик  |   Скрипт Обр. связи  |   Нажмите, чтобы увеличить

Ротатор рекламных материалов AVL  |   Сколько сейчас на сайте  |   Ваш комментарий или вопрос

Если нашу ссылку вставите себе на сайт по адресу написанному вами в
комментарии, то ваш адрес тоже станет ссылкой!