这几天使用Simple Down v6.2搭一个自己的文件分享站,文件基本放置其它网盘,Simple Down v6.2对于本地服务器上的文件下载可以统计次数,无法统计外链网盘文件的下载次数,花了点时间修改才得以对外链询问下载页次数统计功能实现。
PHP都是自己研究着玩,水平有限,此修改方法也许并不太完美。
查看内容页源码发现“下载文件”链接对于站内文件及外链网盘文件显示是不同的,站内文件会显示如:http://panadmin.yangjinyou.com/simple/down/4的下接下载链接,下载时可统计下载次数;而外链网盘的文件内容页直接显示外链,无法统计下载次数。
为了达到统计效果,修改以下两个文件内容:
一、root/views/view.php
找到以下内容:
<?php if ($news_item['fileext'] == "net") { ?>
<a href="<?php echo $news_item['fileurl'] ?>" target="_black">立即下载</a>
<?php } else { ?>
<a href="<?php echo base_url()."simple/down/".$news_item['id'] ?>">立即下载</a>
<?php } ?>
修改为
<?php if ($news_item['fileext'] == "net") { ?>
<a href="<?php echo base_url()."simple/down/".$news_item['id'] ?>" target="_blank">下载页面</a>
<?php } else { ?>
<a href="<?php echo base_url()."simple/down/".$news_item['id'] ?>">立即下载</a>
<?php } ?>
红色部分是进行修改的地方,将站内文件与外链网盘文件的显示下载地址改为一致。
二、root/controllers/simple.php
站内文件下载使用force_download强制下载,如数据库保存的文件路径只是外链网盘文件的下载页面,我们需要的是打开下载页面,无法使用force_download来处理,加入判断,使用header来重定向到指定页面。
找到三处相同的以下内容:
force_download($news_item['filename'], $data);
修改为
if ($news_item['fileext'] == "net")
{
$newurl = $news_item['fileurl'];
header("Location:$newurl");
exit();
} else {
force_download($news_item['filename'], $data);
}
文章评论