Статистика скачиваний

Santito

Новичок
Статистика скачиваний

Здравствуйте!
Сразу прошу прощения если этот вопрос обсуждался, найти не смог :-(
На сервере храниться некий файл доступный для скачивания, прямая ссылка на него имеется на нескольких сайтах. Моя задача детектить откуда скачивают, сколько скачало за 1 день, 1 неделю, месяц.
Можно было бы дать ссылку на некий скрипт, а он уже пусть делает redirect на файл, но у меня прямой линк на файл. Подскажите в каком направлении искать. Без использования лога на сервере!

Заранее спасибо!
 

nut

Новичок
чей-то я не понял ты можешь использовать редирект?!!
 

SiMM

Новичок
Либо отдавать файл скриптом, либо анализировать логи апача. Первое обсуждалось неоднократно - идея близка к идее ЧПУ
 

Santito

Новичок
Я понял лучше не париться и отдавать файл скриптом! Я где обсуждалась отдача файла скриптом, можно ссылку!
Если другого выхода нет, то придется использовать редирект!
 

Alexandre

PHPПенсионер
некий файл доступный для скачивания
какой формат (расширение) файла?

как правило любой файл отдается так:
1) считывается с диска
2) выдается заголовок Header("Content-Type","image/gif")
3) выводится сам файл print ( $data );

если файлы имеют такие расширения, как doc, xls, avi. pdf, mp3 при которых браузер сразу запускает предустановленную программу , то такие файлы предварительно советую архивировать в zip
 

Santito

Новичок
Как зачем редирект. Запускаем скрипт он считает количество скачиваний этого файла, а затем делаем редирект на сам файл, что по идее приведет к началу скачивания файла.

Файл .exe Мне нужно давая прямую ссылку на него каким-то образом посчитать количество скачиваний.
 

SelenIT

IT-лунатик :)
может, есть смысл сделать нормальный ЧПУ (mod_rewrite), чтобы по нынешней прямой ссылке открывался скрипт, а сам файл переименовать?
 

Santito

Новичок
Можно было бы посидеть и разобраться с mod_rewrite, но времени нет. Давайте забудем про прямой линк на файл, а поговорим о подсчете статистики скачиваний через скрипт с последующим редиректом. Мне кажется не все здесь так просто, может кто-то уже делал подобное.
 

SelenIT

IT-лунатик :)
Кстати, можно ведь и без mod_rewrite, достаточно ForceType (для одного файла или для *.exe - смотря по ситуации, подробности в Избранном в теме "ЧПУ"). Редирект как таковой, по идее, вообще не нужен.

Общая логика примерно такая:
1) При обращении по адресу файла срабатывает ЧПУ и вызывается скрипт, который
2) должен откуда-то прочитать существующее количество скачиваний этого файла, прибавить единицу и записать обратно;
3) выдать такие же HTTP-заголовки ([m]header[/m]), которые получает, например, FlashGet, когда закачивает этот файл;
4) прочитать этот файл сразу в поток вывода (см. ответ fenderа).
 

Santito

Новичок
Спасибо за пояснение, все понял!

P.S. Так ради интереса хочу спросить, содержит ли лог хранящийся на сервере информацию по скачиванию определенного файла и с какой ссылки это произошло!
 

SelenIT

IT-лунатик :)
Содержит, поэтому SiMM и предлагал его анализ как альтернативное решение.
 
Сверху