Создать ответ 
Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Автор Сообщение
OranGe Не на форуме
Рядовой
*

Сообщений: 2
У нас с: Mar 2013
Сообщение: #31
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(31.03.2013 16:18:22)Admin писал(а):  Совсем обнуляется или теряется часть данных?

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

На нашем сайте работает подобный код скрипта записи логов посещений сайта, но он претерпел значительные изменения. Через некоторое время создам отдельную тему с более функциональным и "надежным" кодом.

Полностью обнуляется, и пишется по новой. Принудительная блокировка файла (функция flock), как может помочь?
31.03.2013 16:30:46
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #32
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Блокировка полезна тем, что пока ее не сняли, никакой другой процесс не сможет работать с файлом. Но есть, конечно, и свой незначительный минус - небольшое увеличение времени работы скрипта, если файл логов заблокирован. В таком случае скрипт дождется снятия блокировки и продолжит свою работу.
31.03.2013 16:34:37
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #33
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Как и обещал ранее, создал новую тему - Скрипт ведения логов посещения сайта в которой учел прошлые недостатки и некоторые пожелания наших посетителей.
Думаю, данный скрипт понравится нашим посетителям больше чем предыдущий.
07.04.2013 13:19:58
Найти все сообщения Цитировать это сообщение
Machine 79 Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jul 2020
Сообщение: #34
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Здравствуйте! Ваш скрипт работал безупречно пять лет примерно, тут начал вырезать статистику. Скажем ночь статистика отсутствует или ровно час не пишет. В текстовом файле просто пустое поле за этот час или ночь, как вырезано? Что это может быть?
21.07.2020 16:39:25
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #35
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Здравствуйте!
Еще вчера ответил Вам в комментариях к теме, но все же повторюсь. Проблема, возможно, в отсутствии блокировки файла лога на момент записи/чтения. Данная проблема была решена в обновленном Скрипте ведения логов посещения сайта.
22.07.2020 18:22:20
Найти все сообщения Цитировать это сообщение
Machine 79 Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jul 2020
Сообщение: #36
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(22.07.2020 18:22:20)Admin писал(а):  Здравствуйте!
Еще вчера ответил Вам в комментариях к теме, но все же повторюсь. Проблема, возможно, в отсутствии блокировки файла лога на момент записи/чтения. Данная проблема была решена в обновленном Скрипте ведения логов посещения сайта.

Простите, а как добавить блокировку в самый первый скрипт? Чтоб он остался такой как в самом начале, но только с блокировкой? Помогите пожалуйста, нашел у вас код с комментированием строк для блокировки, но в PHP что не разобраться мне. Ниже старый код и код который блокирует:

PHP код:
<?php
$file
="user3";    //куда пишем логи
$col_zap=4999;        //строк в файле не более

function getRealIpAddr() {
  if (!empty(
$_SERVER['HTTP_CLIENT_IP']))        // Определяем IP
  
$ip=$_SERVER['HTTP_CLIENT_IP']; }
  elseif (!empty(
$_SERVER['HTTP_X_FORWARDED_FOR']))    // Если IP идёт через прокси
  
$ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }
  else { 
$ip=$_SERVER['REMOTE_ADDR']; }
  return 
$ip;
}

if (
strstr($_SERVER['HTTP_USER_AGENT'], 'YandexBot')) {$bot='YandexBot';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')) {$bot='Googlebot';}
else { 
$bot=$_SERVER['HTTP_USER_AGENT']; }

$ip getRealIpAddr();
$date date("H:i:s d.m.Y");        //дата события
$home $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];    //какая страница сайта
$lines file($file);
while(
count($lines) > $col_zaparray_shift($lines);
$lines[] = $date."|".$bot."|".$ip."|".$home."|\r\n";
file_put_contents($file$lines);
?>

Код в котором присутствует блокировка:
PHP код:
<?php
$fh
=fopen("file.txt""a+");    //открываем для чтения/записи
flock($fhLOCK_EX);    //блокируем файл
fseek($fh0);    //ставим указатель на начало файла
while (!feof($fh)) $line. = fread($fh,2048);    //считываем из файла

//здесь производим обработку считанных данных

ftruncate($fh0);    //очищаем файл
fwrite($fh$Res_$line);    //записываем в файл
flock($fhLOCK_UN);    //снимаем блокировку
fclose($fh);    //закрываем файл
?>
24.07.2020 19:22:54
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #37
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Переделанный код выложил в комментариях к теме скрипта записи логов посещений.

По сути надо было просто приспособить часть кода из обновленного скрипта к первоначальному, что я и сделал.
25.07.2020 22:56:35
Найти все сообщения Цитировать это сообщение
Machine 79 Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jul 2020
Сообщение: #38
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(25.07.2020 22:56:35)Admin писал(а):  Переделанный код выложил в комментариях к теме скрипта записи логов посещений.

По сути надо было просто приспособить часть кода из обновленного скрипта к первоначальному, что я и сделал.

Спасибо огромное, я пробовал но у меня получилось что я лог закрыл и не открыть его было )))

А мне этот код очень необходим, а в последнее время начал пропускать записи, может час пропустить а может всю ночь, не понятно из за чего. Три года работал все хорошо было, пока не позвонил в поддержку своего хостинга что узнать путь до папки. Там у них так все заковыристо, файлы 404 в отдельной папке лежат и путь не от корневой идет. Хотел страницу 404 к скрипту подключить, позвонил в поддержку и потом началось, пропуски в логе.
(Последний раз сообщение было отредактировано 31.07.2020 в 04:05:08, отредактировал пользователь Machine 79.)
31.07.2020 04:01:19
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru