Dedecms下载次数真实统计的实现方法

Dedecms的软件模型,大家都知道,可能用到的人不多,因为一些专业的下载网站都在使用新云等专用下载系统,其实dedecms的软件模型还是不错的,并且有诸多好处,例如和文章系统共用一个后台,二级域名绑定等,为此烈火也使用dedecms新建了dede58源码频道,总体感觉不错,唯一不足的是dedecms显示的下载次数是网页的PV值,而不是真正的下载次数

经过一翻推敲,写出一个可以显示真实下载次数的代码,修改方法如下:

1、新建个downclick.php 保存于include目录下 

内容如下 

<?php 
$a=$_COOKIE["a"]; 
?>

2、打开plus\download.php 

找到 

$dsql->Close(); 
$cu->Close(); 
require_once($cfg_basedir.$cfg_templets_dir."/plus/download_links_templet.htm"); 
  
替换为: 

 

//下面是通过cookie传递aid变量到cookie,用downclick.php来读取. setcookie("a","$aid"); //完毕 //下面是读取下载的点击数,typeid是栏目id,请查看自己的数据库 if ($arcRow['typeid']>=13 and $arcRow['typeid'] <=17) { $row=$dsql->GetOne("select * from dede_addonsoft where aid='$aid'"); $showclick=$row['click']; $dsql->Close(); } $dsql->Close(); $cu->Close(); //读取完毕 require_once($cfg_basedir.$cfg_templets_dir."/plus/download_links_templet.htm");  

3、找到 

$link = base64_decode($link);

在这行之前加入 

//下面是更新软件下载的点击数 
require_once(dirname(__FILE__)."/../include/downclick.php"); 
$dsql = new DedeSql(false); //liehuo.net
$dsql->ExecuteNoneQuery("Update dede_addonsoft set click=click+1 where aid='$a'"); 
//更新完毕 
//下面是关闭数据库连接 
$dsql->Close();

4、打开templets\plus\download_links_templet.htm 

在合适的地方加入 

已被下载 <?=$showclick?> 次 

5、用phpmyadmin在数据库里执行以下sql 

ALTER TABLE `dede_addonsoft` ADD `click` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `softlinks` ;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b2ce64b1d73a1fa0e0d5c08527535a60.html