AJAX可以统计下载次数吗



我的思路是这样的:下载一次就是点击一次下载链接,所以是不是可以用AJAX的onclick事件来统计下载次数呢? 做一个下载页面download.html,及下载次数统计页面download.php,代码分别如下:

<!--下载页面download.html-->
<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>下载页面</title>
<script type="text/javascript">
function download()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function()
  {  
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("download").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","download_do.php",true);
  xmlhttp.send(); 
}
</script>
</head>
<body>
  <a href="wenjian.zip" id="download" οnclick="download()">下载文件</a>
</body>
</html>

以下是下载次数统计页面download.php
<?php
//download表格用于保存文件下载数据,downtimes-下载次数,id-文件编号
include("conn.php");
$result=mysql_query("UPDATE download SET downtimes=downtimes+1 WHERE id='1'");
mysql_close($conn);
?>

写好后我试了试确实可以统计,但是不知道这样做是不是有什么缺点或漏洞,或者还有其它更好的统计方法。请各位高手指点一二,感激不尽!


2012-01-19 11:39





header('Content-type: mime类型');
header('Content-Disposition: attachment; filename="要下载的文件名"');
$sql="select * from upload where id=1";
$sql="update upload set click=click+1 where id=1";
readfile('/upload/test.zip'); //

要下载文件的真实路径 这样试试.不用ajax.直接写成动态文件链接即可.一般都这样做.