Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Статистика скачиваний файла
 
 автор: Ivan   (15.09.2006 в 07:16)   письмо автору
 
 

Как можно зафиксировать успешную скачку файла с сервера посетителем?
Это возможно?

   
 
 автор: tuder   (15.09.2006 в 09:38)   письмо автору
 
   для: Ivan   (15.09.2006 в 07:16)
 

Примерно такой скрипт.
Ссылки на файлы давать через него:

<a href="download.php?location=MyFile.Mp3" target="_blank">MyFile.Mp3</a>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta HTTP-EQUIV="PRAGMA" content ="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<title>Download</title>
</head>
<body>
<?php
if (isset($location)) {
//если location не пуста
   
$realoc=$_GET["location"];
   
$location=explode("/",$realoc);
   
$location="../files/".$location[count($location)-1];
   include(
"../inc/stat.inc");
   
$date=time();
   include(
"../admin/.config");
   include(
"../admin/opendb.inc");
   if (
is_file($location)) {$isset=1;} else {$isset=0;}
   
$query="insert into `statdl` (date, ip, browser, referer, filename, isset) VALUES (".$date.", '".$REMOTE_ADDR."', '".$HTTP_USER_AGENT."', '".$HTTP_REFERER."', '".$realoc."', '".$isset."')";
   
$result=@mysql_query($query);
   if (
is_file($location)) {
      echo 
"<body onload=\"window.location.href='$location'\">";
      echo 
"<center>Если загрузка не начнется через несколько секунд - <a href='$location'> нажмите эту ссылку</a></center>";
   } else {
//если файла не существует
      
$location="";
      echo 
"<body onload=\"window.close\">";
      echo 
"<center><font color='red'>Файл не найден!</font></center>";
   }
}
?>
</body>
</html>

"

   
 
 автор: komex   (15.09.2006 в 09:53)   письмо автору
 
   для: tuder   (15.09.2006 в 09:38)
 

Так можно только зафиксировать, что скачка началась! А вот скачался файл или нет таким образом не узнать! =)

   
 
 автор: cheops   (15.09.2006 в 11:54)   письмо автору
 
   для: Ivan   (15.09.2006 в 07:16)
 

>Это возможно?
Нет, у Web-сервера Apache по крайней мере нет такой возможности.

   
 
 автор: Ivan   (15.09.2006 в 15:42)   письмо автору
 
   для: cheops   (15.09.2006 в 11:54)
 

Спасибо за скрипт...
Конечно, зафиксить обращение можно, здесь проблем нет.
Интересовал именно конечный результат.
Просто когда задали такой вопрос мне, немного сел в лужу.
Значит, будем принимать на веру что Инет не оборвется посреди закачки...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования