<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>

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐