Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как отследить действия пользователя на сайте?


Автор: FrozenEternal 24.6.2014, 00:01
Доброго времени суток! 
На самом деле не знаю в какую тему обратиться по этому поводу но есть догадки, что данный вопрос связан именно с PHP. 
Суть вопроса: 
На сайте лежат ссылки на установку файлов, мне нужно каким-то образом отследить кто и сколько раз перешел по этой ссылке и был ли установлен файл.
Есть ли решение этому вопросу? Возможно посоветуете куда обратиться? 
Заранее благодарна. 

Автор: Sanchezzz 24.6.2014, 19:45


В общем делаем метод в контроллере (или страницу), которая должна принимать id файла для получения пути к файлу и прочей информации.

Суть в том чтобы пользователь зайдя на эту страницу получил заголовок от сервере X-SendFilе
делается это для того что бы:
1 файл не стримить через PHP, так как это много ресурсов отъедает.
2 скрыть реальный путь хранения файла на сервере.
3 снизить нагрузку см. п. 1.

Создаем таблицу в БД под это дело files   
 id (int PK) | name(varchar) | path(varchar) 

При переходе на страницу скачивания смотрим в БД путь.

SELECT * FROM files WHERE id=:id

Дальше записываем пользователя в БД в отдельную таблицу

id(int PK) | user_id(int) | file_id(int) | date_download ( timestamp)

Далее посылаем пользователю заголовок X-SendFile: file

Еще нужно на сервере установить и настроить компоненты для апача это mod_xsendfile на ngnix ставить нечего не нужно просто настроить X-SendFile.

Автор: krundetz 25.6.2014, 23:08
Sanchezzz, а проще не будет генерировать уникальную ссылку для каждого пользователя и потом по логам сервера смотреть кто сколько раз скачал?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)