00:00:00




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

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

Ротатор рекламных материалов AVL  |   Сколько сейчас на сайте  |   Онлайн (online) подсветка программного кода

Скрипт для подсветки программного кода  |   Ваш комментарий или вопрос

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

Мой скрипт счетчик "Сколько сейчас на сайте" простой и надежный. В его пользу
несколько важных плюсов:
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($folLOCK_EX);
 
ftruncate ($fol0);
 
fseek ($fol0SEEK_SET);
 for (
$i 0$i sizeof($ResFile); $i++) {
  
fputs($fol$ResFile[$i]); 
  }
 
fflush($fol);
 
flock($folLOCK_UN);
 
fclose($fol);

 if (!
$is_ip_in_file) {
  
$fp fopen($puthcount"a");
  
flock($fpLOCK_EX);
  
$line $ip."|".$CurrentTime."\n";
  
fputs($fp$line);
  
fflush($fp);
  
flock($fpLOCK_UN);
  
fclose($fp);
 }
}
?>

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

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

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


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

Ротатор рекламных материалов AVL  |   Сколько сейчас на сайте  |   Онлайн (online) подсветка программного кода

Скрипт для подсветки программного кода  |   Ваш комментарий или вопрос

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