php----拷贝兔源代码分析dl函数和getdata函数
<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"&g
<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>
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)