• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

счетчики

  • Автор темы Автор темы Exilia
  • Дата начала Дата начала

Exilia

Аватармэйкер
определяет колличество человек в он-лайн
1.Создать файл online.php
Код:
<?php

 _ _ _ _$data="online.dat";
 _ _ _ _$time=time();
 _ _ _ _$past_time=time()-600;

 _ _ _ _$readdata=fopen($data,"r") or die("Не могу открыть файл $data");
 _ _ _ _$data_array=file($data);
 _ _ _ _fclose($readdata);

 _ _ _ _if (getenv('HTTP_X_FORWARDED_FOR'))
 _ _ _ _ _ _ _ $user = getenv('HTTP_X_FORWARDED_FOR');
 _ _ _ _else
 _ _ _ _ _ _ $user = getenv('REMOTE_ADDR');

 _ _ _ _$d=count($data_array);
 _ _ _ _for($i=0;$i<$d;$i++)
 _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ list($live_user,$last_time)=explode("::","$data_array[$i]");
 _ _ _ _ _ _ _ if($live_user!=""&&$last_time!=""):
 _ _ _ _ _ _ _ if($last_time<$past_time):
 _ _ _ _ _ _ _ _ _ _ _ _$live_user="";
 _ _ _ _ _ _ _ _ _ _ _ _$last_time="";
 _ _ _ _ _ _ _ _endif;
 _ _ _ _ _ _ _ _if($live_user!=""&&$last_time!="")
 _ _ _ _ _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ _ _ _ _ _if($user==$live_user)
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _$online_array[]="$user::$time\r\n";
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _}
 _ _ _ _ _ _ _ _ _ _ _ _else
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _$online_array[]="$live_user::$last_time";
 _ _ _ _ _ _ _ _ _ _ _ _}
 _ _ _ _ _ _ _ _endif;
 _ _ _ _ _ _ _ _}

 _ _ _ _if(isset($online_array)):
 _ _ _ _foreach($online_array as $i=>$str)
 _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ _if($str=="$user::$time\r\n")
 _ _ _ _ _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ _ _ _ _ _$ok=$i;
 _ _ _ _ _ _ _ _ _ _ _ _break;
 _ _ _ _ _ _ _ _ _ _ _ _}
 _ _ _ _ _ _ _ _}
 _ _ _ _foreach($online_array as $j=>$str)
 _ _ _ _ _ _ _ _{
 _ _ _ _ _ _ _ _if($ok==$j) { $online_array[$ok]="$user::$time\r\n"; break;}
 _ _ _ _ _ _ _ _}
 _ _ _ endif;

 _ _ _ _$writedata=fopen($data,"w") or die("Не могу открыть файл $data");
 _ _ _ _flock($writedata,2);
 _ _ _ _if($online_array=="") $online_array[]="$user::$time\r\n";
 _ _ _ _foreach($online_array as $str)
 _ _ _ _ _ _ _ _fputs($writedata,"$str");
 _ _ _ _flock($writedata,3);
 _ _ _ _fclose($writedata);

 _ _ _ _$readdata=fopen($data,"r") or die("Не могу открыть файл $data");
 _ _ _ _$data_array=file($data);
 _ _ _ _fclose($readdata);
 _ _ _ _$online=count($data_array);
 _ _ _ _
 _ _ _ _echo "document.write('Сейчас : $online');";
?>
2.созздать файл online.dat
Код:
127.0.0.1::1023606302
3.закачать все на сайт
4. Установите следующие права доступа:
на файл online.php - 644
на файл online.dat - 666
5. Вставьте на страницу, где хотите видеть кол-во посетителей, следующий код:
<script language="JavaScript" src="http://ваш_сайт.ru/online.php"></script>
 
А дайте счетчик, считывающий сколько раз скачивали программу!
 
Selig написал(а):
А дайте счетчик, считывающий сколько раз скачивали программу!

Код:
<?
if(!isset($_GET["name"])) exit("ERROR: NAME MUST NOT BE EMPTY!");
$name=$_GET["name"];
if(ereg_replace("[0-9a-z]","",$name)) exit("ERROR: MISSING CHARACTER IN NAME");

include(".htdb");
$res=mysql_query("select * from my_table where name='$name'");
$row=mysql_fetch_array($res);
if(!$row) exit("ERROR: FILE '$name' NOT EXISTS OR DATABASE ERROR");

$ip=$_SERVER["REMOTE_ADDR"];
$res=mysql_query("select * from my_ips where name='$name' and ip='$ip'");
$row=mysql_fetch_array($res);
if(!$row) {
    mysql_query("update my_table set downloads=downloads+1 where name='$name'"); 
    mysql_query("insert into my_ips values('$name','$ip')");
}

header("location: my_dir_with_files/$name.zip");
?>

В файле .htdb положи обычный php-шник, подключающий к БД.
 
Такой я знаю, а Java есть??? А то тупорылый хост такие скрипты не держит
 
Если хост тупорылый уходи оттуда! Но в замен лучше ничего не могу посоветовать кроме платных... Бесплатные все дерьмо, испытано на себе... Хостинг без пхп это не хостинг, даже бесплатный!
 
А что такоё
"4. Установите следующие права доступа:
на файл online.php - 644
на файл online.dat - 666"

Куда это надо устанавливать?
 
Это права доступа, они ставятся через фтп-клиент. Как правило в нем окно разделено на две колонки: в одной файлы локального компа, в другой - файлы на хостинге. Выбираешь нужные тебе файлы на хосте, жмешь правую кнопку, выбираешь Свойства (Properties), там есть опция CMOD, либо выставляешь галочками напротив read, write и т.д., либо в фтп-клиенте может быть строчка для ручного ввода прав доступа (тогда проще). Я пользуюсь фтп-клиентом AceFTP Pro, это на примере этой проги я тебе объяснила...
Ох, только не понимаю, причем тут счетчики, или ты скрипт счетчика устанавливаешь?
 
Я устонавливаю скрипт счетчика.
Фтп-клиент-это программа?
 
Мда... Интересно как ты всё это устанавливаешь если не знаешь что такое ФТП-клиент...

Естественно это программа. Сам пользуюсь CuteFTP Pro, на вопрос где скачать - поисковики тебе помогут.
 
Назад
Сверху