经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
PHP+Mysql统计文件下载次数实例
来源:cnblogs  作者:mrlime  时间:2019/10/21 9:01:42  对本文有异议

PHP+Mysql统计文件下载次数实例,实现的原理也很简单,是通过前台点击链接download.php传参id,来更新点击次数。

获取文件列表:

  1. <?php
  2. require 'conn.php';
  3. $query = mysql_query("SELECT * FROM downloads");
  4. $lists = array();
  5. while ($row = mysql_fetch_assoc($query)) {
  6. $lists[] = $row;
  7. }
  8. ?>


读取文件列表,并加上download.php链接和参数id:

  1. <ul class="filelist">
  2. <?php foreach ($lists as $v) { ?>
  3. <li><a href="download.php?id=<?php echo $v['id'] ?>"><?php echo $v['filename'] ?><span class="downcount" title="下载次数"><?php echo $v['downloads'] ?></span><span class="download">点击下载</span></a></li>
  4. <?php } ?>
  5. </ul>


点击下载按钮,累加文件次数:

  1. $(function() {
  2. $('ul.filelist a').live('click', function() {
  3. var count = $('.downcount', this);
  4. count.text(parseInt(count.text()) + 1);
  5. });
  6. });


download.php文件源码:

  1. <?php
  2. $id = (int) $_GET['id'];
  3. if (!isset($id) || $id == 0)
  4. die('参数错误!');
  5. $query = mysql_query("select * from downloads where id='$id'");
  6. $row = mysql_fetch_array($query);
  7. if (!$row)
  8. exit;
  9. $filename = iconv('UTF-8', 'GBK', $row['filename']); //中文名称注意转换编码
  10. $savename = $row['savename']; //实际在服务器上的保存名称
  11. $myfile = 'files/' . $savename; //文件
  12. if (file_exists($myfile)) {
  13. mysql_query("update downloads set downloads=downloads+1 where id='$id'");
  14. $file = @ fopen($myfile, "r");
  15. header("Content-type: application/octet-stream");
  16. header("Content-Disposition: attachment; filename=" . $filename);
  17. while (!feof($file)) {
  18. echo fread($file, 50000);
  19. }
  20. fclose($file);
  21. exit;
  22. } else {
  23. echo '文件不存在!';
  24. }
  25. ?>


本文转自:https://www.sucaihuo.com/php/224.html 转载请注明出处!

 

原文链接:http://www.cnblogs.com/mrlime/p/11703299.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号