Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2016, 18:15   #1
Владислав1983
Подтвердите свой е-майл
 
Регистрация: 26.01.2016
Сообщений: 1
По умолчанию Расширенная статистика обращений к файлам на сервере без MySQL

Здравствуйте! В php я практически не разбираюсь. Я нашел скрипт счетчика обращений (скачиваний) файла. Статистика находится в файле txt, куда записывается счетчик. MySQL нет. В нем только число, которое увеличивается с каждым скачиванием или просмотром. Я данные этого счетчика вывел на php-страницу.

Код скрипта:
if ($ngee==1) {
header("Content-Type: application/doc");
header("Content-Disposition: attachment; filename=Commercial_proposal_on_adv ertising.doc");
print file_get_contents("http://www.motrw.com/files/Commercial_proposal_on_advertising. doc");
$file=fopen("file-1.txt","a+"); //file-1.txt - это имя файла, в котором будет храниться статистика закачек
flock($file,LOCK_EX);
$count=fread($file,100);
$count++;
ftruncate($file,0);
fwrite($file,$count);
flock($file,LOCK_UN);
fclose($file);
}

Вызывается скрипт следующим образом:
<a href="http://www.motrw.com/files/counter.php?ngee=1">Коммерческое предложение</a>
Как сделать расширенную статистику обращений к файлам на сервере без MySQL

Вывод статистика такой:
<table cellpadding="10px" cellspacing="2px">
<tr>
<th>Файл</th>
<th>Количество обращений</th>
</tr>
<tr>
<td class="l1">Коммерческое предложение</td>
<td class="r1"><? include("file-1.txt");?></td>
</tr>
</table>

Но теперь есть задача расширить статистику так, чтобы выводилось не только общее количество скачиваний, но и дату/время, IP-адрес, количество скачиваний для одного IP-адреса. Каждый раз, когда происходит переход по ссылке, количество заносится в общее количество и появляется новая строка с данными скачавшего, где и будет дата/время, IP-адрес, количество скачиваний. Если один раз по данному IP уже было скачано - добавляется счетчик в имеющуюся строку и, соответственно в общее количество добавляется "1". Как это правильно называется. Вывод хитов, хинтов или логов или еще как-то, я толком не знаю. Каким образом это нужно реализовать? Возможно ли так сделать без использования MySQL. Можно, даже сделать, что каждый столбец будет выводится в разные файлы для простоты. Формат времени и даты может быть любой, но лучше более понятный.

Выглядеть таблица должна будет, примерно так:

Общее количество скачиваний: 97
Дата, время | IP-адрес | Количество скачиваний
01.01.2016 01:00 | 192.168.5.1 | 3
01.01.2016 01:00 | 192.168.5.1 | 4
01.01.2016 01:00 | 192.168.5.1 | 5
01.01.2016 01:00 | 192.168.5.1 | 12
01.01.2016 01:00 | 192.168.5.1 | 1
Владислав1983 вне форума Ответить с цитированием
Старый 26.01.2016, 21:41   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Владислав1983 Посмотреть сообщение
В php я практически не разбираюсь.
Код за деньги|карму|репутацию|спасибо обычно пишут в разделе Фриланс.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройка файла my.ini на сервере MySQL Muramidaza БД в Delphi 0 22.03.2014 19:17
Доступ из Visual Studio к MySQL на другом сервере Andrey_k C# (си шарп) 2 21.05.2011 10:34
Статистика (без сводной таблицы) за произвольный период dm_alex73 Microsoft Office Excel 2 12.02.2011 18:29
Нужно корректно отобразить данные из таблиц на сервере mysql Amabilis Помощь студентам 0 01.03.2010 20:40
Запись данных в таблицу MySQL, расположенную на удалённом сервере) tigr1991 БД в Delphi 0 07.01.2010 00:34