Как подсчитывать количество закачек файла(ов) с сервера.

vmaximov777

Новичок
Как подсчитывать количество закачек файла(ов) с сервера.

У меня есть страница. На ней ссылка. Кликая на ссылку пользователь скачивает файл - скажем some.zip.

Как эффективно решить задачу подсчета количества скачиваний данного файла?

Всем ответившим заранее благодарен.
 

0xHH

Новичок
Как Вы будете считать скачивание файла по частям?
 

Фанат

oncle terrible
Команда форума
0xHH
не приставай к человеку по частям.

vmaximov777
самоепростое - это считать обращения к файлу в логах веб-сервера
 

0xHH

Новичок
vmaximov777
flashget качает по частям и т.д.

Фанат это будет первым вопросом топикстартера, когда счётчик начнет "махлевать".
 

Фанат

oncle terrible
Команда форума
1. какая ему разница?
2. вот когда начнёт мухлевать - пусть тогда и спрашивает.
что ж вы все хотите запихнуть в человека всё сразу?
пусть хоть как-то научится делать.
 

vmaximov777

Новичок
самоепростое - это считать обращения к файлу в логах веб-сервера
А можна поподробнее.
flashget качает по частям и т.д.
Если будем качать по частям - получиться больше обращений...и как вийти на точное число?
 

0xHH

Новичок
vmaximov777
Если программно, можно отдавать файл через редирект, подсчитывая запросы.

-~{}~ 21.08.06 23:38:

Если будем качать по частям - получиться больше обращений...и как вийти на точное число?
В общем случае никак.
 

0xHH

Новичок
Вы даёте линк http://domain.com/file.zip. file.zip- это php file, который увеличивает счётчик на 1 (примеры счётчиков в сети полно). После этого редиректит на http://domain.com/download/file.zip через header();
 

vmaximov777

Новичок
Спасибо - в общем понял ... но вот интересно как бы все делать не уходя из страницы - на ней у меня описание файла архива ... а так получается будет пропадать...
 

it-master

Новичок
vmaximov777
Открывай закачку в новом окошке через JS

-~{}~ 22.08.06 07:43:

Еще, как возможное решение, можно все-таки анализировать логи apache. Также проверять IP клиента и если клиент уже закачивал файл(есть ранее в логе), то не считать это + к количеству закачек.
 

sense

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



<?
$path="";
$curpath="";
$script_name=getenv("SCRIPT_NAME");
if ($script_name!="" and ($pos=strpos($script_name, "/download.php"))!==false )
{
$path=substr($script_name,0, $pos);
}
$document_root=getenv("DOCUMENT_ROOT");
if ($document_root!="")
{
$curpath=$document_root.$path;
}
$n_today=0;
$d_fname="../edit/pr/" . date("y_m_d") . ".txt";
if (is_file($d_fname))
{
$file = fopen($d_fname,"r");
list($n_today) = fscanf($file,"%f");
fclose($file);
}
$n_today++;
$file=fopen($d_fname,"w");
fputs($file,sprintf("%f",$n_today));
fclose($file);

$filename='price.zip';
$filepath=$curpath.'/'.$filename;
$flsize=filesize($filepath);
header("Content-disposition: attachment; filename=$filename");
header("Accept-Ranges: bytes");
header("Content-Length: $flsize");
header("Content-Type: application/force-download");
readfile($filepath);
?>
 
Сверху