登录 | 注册 | FAQ
Anonymous

Помогите с простейшим счетчиком

+ 发表回复

3 篇帖子 分页: 1 / 1


Помогите с простейшим счетчиком

patisosha » 周四 11月 07, 2013 4:52 pm

Ребята ....помогите плиз с счетчиком переходов по ссылкам

есть вот такой PHP файл ... назову его stat.php ... ниже код ... правда мне кажется тоже немного корявый но работает Недовольство, огорчение
и есть пустой файл statistika.txt .. права на него 777

<?
$QUERY_STRING=$_SERVER['QUERY_STRING'];
if(isset($QUERY_STRING)){
$url=$QUERY_STRING;
$file=fopen("statistika.txt","r+");
$text = fread ($file, filesize("statistika.txt"));
if (strpos($text, $url) !== false){
preg_match ("#".quotemeta($url)." просмотров ([0-9]+) \\n#i", $text, $matches);
$matches[1] = $matches[1]+1;
$text = preg_replace("#(".quotemeta($url)." просмотров) ([0-9]+) (\\n)#i", "$1 $matches[1] $3", $text);
ftruncate($file, 0);
rewind($file);
fputs ($file, $text);
} else {
fputs ($file, $url." просмотров 1 \n");
}
fclose($file);
}else{
exit("<div align='center' style='font-family:verdana;font-size:12pt;color:red;'>Здесь нет ничего интересного!</div><br>");
}
?>
<html>
<head>
<META http-equiv="Refresh" content="0; url=<?print $url;?>">
</head>
</html>

теперь если я ставлю несколько ссылок на чужом сайте в виде
http://мой_домен/stat.php?страничка1
http://мой_домен/stat.php?страничка2
http://мой_домен/stat.php?страничка3

при переходе по этим ссылкам в файле statistika.txt появляются записи в таком виде
страничка1 2
страничка2 4
страничка3 1

где цифры на против ссылок указывают количество переходов по тем ссылкам

ТЕПЕРЬ САМА ПРОБЛЕМА
что добавить в код чтоб в начале этого списка была и цифра с общим количеством переходов по этим ссылкам... а то если таких ссылок 1000 то как-то не хочется каждый день считать на калькуляторе
чтоб выглядело скажем так
ВСЕГО 7
страничка1 2
страничка2 4
страничка3 1

всем спасибо
头像

patisosha

  • 帖子: 3
  • 注册: 周四 11月 07, 2013 4:51 pm

Re: Помогите с простейшим счетчиком

XainPro » 周五 11月 08, 2013 10:05 am

<?php
$pattern = '/(?<=\=\s)([0-9]+)(?=\s\=)/';
$total = 0;
$matches;
$filename = "add.txt";
$handle = @fopen($filename, "r");

if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
if(preg_match($pattern, $buffer, $matches))
{
$total += intval($matches[0]);
}
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}

?>
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm

Re: Помогите с простейшим счетчиком

patisosha » 周二 11月 12, 2013 1:29 pm

XainPro 写道:<?php
$pattern = '/(?<=\=\s)([0-9]+)(?=\s\=)/';
$total = 0;
$matches;
$filename = "add.txt";
$handle = @fopen($filename, "r");

if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
if(preg_match($pattern, $buffer, $matches))
{
$total += intval($matches[0]);
}
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}

?>


к сожалению что-то не получается :( ... или я не так поняла ... я написала ссылку мойсайт.куку/адресскрипта?индекс
но перехода на ту страницу так и небыло :(
头像

patisosha

  • 帖子: 3
  • 注册: 周四 11月 07, 2013 4:51 pm


+ 发表回复

分页: 1 / 1