<div class="cpt-show">
<div class="cpt-file">
{if $is}
{if $type == 'text'}
{$data['content']|htmlspecialchars_decode}
{else}
<p class="orig">{$data['name']}</p>
<p class="fsize">可用下载次数: {$data['num']}</p>
<div class="dl-btn" id="do_dl" data-tag="tp2s">
<img src="https://f0cdn.anyknew.com/cptool/img/dl-file.png" width="23">
<span class="helper"><a href="/dl/{$data['tag']}.html" title="">下载文件</a>
data.html里面的这里,下载文件的时候调用dl()函数!!!在index/controller/index.php里面

网址http://www.shujucx.com/s/615打开后

下载文件按钮的链接地址为:
http://www.shujucx.com/dl/615.html

而http://www.shujucx.com/s/615调用的index/controller/index.php里面的getData()函数

public function getData($key) {
        if (empty($key) || strlen($key) != 3) {
            return $this->redirect('/');
        }
        if (request()->isMobile()) {
            $css = true;
        } else {
            $css = false;
        }

$data = Db::table('data')->where('tag', $key)->find();

if (empty($data)) {
                        return $this->redirect('/');
        }
        if ($data['num'] <= 0 || time() > strtotime($data['end_time']) ) {

$filepath = THINK_PATH . '../public' . $data['file_path'];
            if (file_exists($filepath)) {
            unlink($filepath);//删除文件
            };
        
            Db::table('data')->where('tag', $key)->delete();
            $is = false;
        } else {
            $is = true;
        }
        if (!empty($data['content'])) {
            @Db::table('data')->where('tag', $key)->update(['num' => $data['num'] - 1]);
        }
        $type = empty($data['content']) ? 'file' : 'text';
        $this->assign('type', $type);
        $this->assign('is', $is);
        $this->assign('data', $data);
        $this->assign('css', $css);
        return $this->fetch('index/data');    注意最后这一句很重要,要显示data.html对应的页面
    }
</span>
</div>
{/if}
{else}
<p class="orig">失效或提取码不正确</p>

php----拷贝兔源代码分析dl函数和getdata函数相关推荐

  1. PHP源代码分析-字符串搜索系列函数实现详解

    今天和同事在讨论关键字过虑的算法实现,前几天刚看过布隆过滤算法,于是就想起我们公司内部的查找关键字程序,好奇是怎么实现的.于是查找了一下源代码,原来可以简单地用stripos函数查找, stripos ...

  2. openCV中的findHomography函数分析以及RANSAC算法的详解(源代码分析)

    本文将openCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家更好的理解RANSAC算法.代码我都试过,可以直接运行. 在计算机视觉和图像处理等很多领域,都需要用到RANSAC算法.op ...

  3. Common Lisp 函数 require 和 provide 源代码分析

    2019独角兽企业重金招聘Python工程师标准>>> Common Lisp 函数 require 和 provide 源代码分析 === 涉及文件: l1-files.lisp ...

  4. MediaInfo源代码分析 4:Inform()函数

    ===================================================== MediaInfo源代码分析系列文章列表: MediaInfo源代码分析 1:整体结构 Me ...

  5. MediaInfo源代码分析 3:Open()函数

    ===================================================== MediaInfo源代码分析系列文章列表: MediaInfo源代码分析 1:整体结构 Me ...

  6. MediaInfo源代码分析 2:API函数

    ===================================================== MediaInfo源代码分析系列文章列表: MediaInfo源代码分析 1:整体结构 Me ...

  7. Media Player Classic - HC 源代码分析 8:RenderFile函数详细分析(CFGManager)

    前面有两篇文章分析了Media Player Classic - HC(mpc-hc)的源代码中的核心类 CMainFrame: Media Player Classic - HC 源代码分析 2:核 ...

  8. ipset源代码分析之kadt和uadt回调函数

    一定要清楚自己在干什么,每行代码在干什么,这样写的代码才能做到心中有数. 之前看到ip_set_hash_ip.chash_ip4_uadt和hash_ip4_kadt函数,就一直很好奇这两个函数是干 ...

  9. 笛卡尔心形函数图像c语言,笛卡尔-心形图 源代码 分析

    java的代码如下,谁能帮我用C#改写一下啊,谢谢,感激不尽 import javafx.application.Application; import javafx.scene.Scene; imp ...

最新文章

  1. AccEAP架构介绍(1)---实体的设计
  2. 如何在Android Wear上节省电池寿命
  3. PTA -- A1046 Shortest Distance
  4. 在51单片机上使用递归的注意事项
  5. 聚类算法:K-Means
  6. 如何理解什么是放射?
  7. 零件缝隙平行线距离检测2
  8. 微软输入法数字有间隔_Word 2016中使用微软拼音输入法,换行后输入数字、标点时会没有输入进去,需要再输入一次...
  9. Leetcode应该怎么刷?【笔试】
  10. 全志V3s学习记录(11)音频、视频使用总结
  11. Win10 64bit 下 Oracle 11g的下载与安装+PLSQL的安装 (超级详细)
  12. MCDownloader(iOS下载器)说明书
  13. 《别让这种习惯毁掉你的一生,改变他!》
  14. nodejs项目mysql使用sequelize支持存储emoji
  15. 入手评测 ROG 冰刃 5 Plus怎么样
  16. MOOC《程序设计入门——C语言》错题集
  17. 【电力负荷预测】基于matlab BP神经网络电力负荷预测【含Matlab源码 278期】
  18. Altium Designer如何实现圆弧布线
  19. 播放4K视频需要什么样的配置
  20. 【SQL】interval关键字用法

热门文章

  1. Javase杂谈(四)
  2. 群体药动学药效学模型
  3. Bootstrap4——字体大小根据屏幕改变解决方案
  4. [高精度]高精度的封装
  5. -128的补码及原码、反码、补码
  6. 科普:什么是CPU?CPU和芯片关系?CPU怎么做的?CPU有什么用?不同CPU有什么区别?我们怎么选CPU?
  7. the info.plist in the package must contain the CFBundleShortVersionString key.
  8. 数据采集程序-----直播间
  9. python 文字识别 tesseract_Python_文字识别引擎试用:tesseract-ocr
  10. 物联网通信技术期末复习7:第七章-典型物联网通信系统