本站资源均来自互联网,仅供学习与参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
Copyright @ 2015-2020 织梦园 版权所有
Power by DedeCms
鲁ICP备15039853号-1
鲁公网安备 37132302000249号
模板标签 TAG标签 网站地图 XML地图 今日更新 返回顶部
大家可以看到大多数的下载站在软件下载地址处使用的是全局调用函数来实现的,可以这样说很多的朋友不是太明白,我们还是先来看一张效果图(如下),大家应该明白我的意思了吧。
下面是我从网上搜集来的相关调用实例,供大家学习研究。
下面是我从网上搜集来的相关调用实例,供大家学习研究。
<?php /* ------------------------------- ========== Tigs: 调用方法:{dede:field.id function="getsoftlinks(3,1,@me)"} 参数说明: 1.$channelid 是内容模型的ID; 2.调用类型(1 = 本地 ;2 = 镜像列表) 3.@me 为当前值,也是软件的文档ID编号 --------------------------------*/ function getsoftlinks($channelid,$type,$aid){ global $dsql; $goto = $dsql->GetOne("Select * From `dede_softconfig` "); $channeltable = $dsql->GetOne("select * from `dede_channeltype` where id = $channelid"); $addtable = $channeltable['addtable']; $row = $dsql->GetOne("select * from `".$addtable."` where aid = $aid"); if ($type == 1){ //设置条件为调用本地下载 if($row['softlinks'] != ''){ //判断下载地址是否为空; $dtp = new DedeTagParse(); $dtp->LoadSource($row['softlinks']); foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='link'){ //读取 {dede:link}的标签 $link = trim($ctag->GetInnerText()); //链接地址为底层模板; $serverName = trim($ctag->GetAtt('text')); //服务器名称 $islocal = trim($ctag->GetAtt('islocal')); // 是否为本地的判断 if ($islocal == 1){//本地下载链接 if($goto['gotojump'] == 1){ //如果后台设置为链接到跳转页面,则对下载地址进行再次处理 $uhash = substr(md5($link), 0, 24); $links = "/plus/download.php?open=2&id=$aid&uhash=$uhash"; } return $links; } } } } } else if($type == 0){ if($row['softlinks'] != ''){ //判断下载地址是否为空; $dtp = new DedeTagParse(); $dtp->LoadSource($row['softlinks']); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='link'){ //读取 {dede:link}的标签 $link = trim($ctag->GetInnerText()); //链接地址为底层模板; $serverName = trim($ctag->GetAtt('text')); //服务器名称 $islocal = trim($ctag->GetAtt('islocal')); // 是否为本地的判断 $rapidity = rand(0,70); if ($rapidity == 0){ $line = 'stop'; } elseif($rapidity <= 20){ $line = 'busy'; } elseif($rapidity <= 40){ $line = 'nofree'; } else{ $line = 'free'; } if ($islocal != 1){ if($goto['gotojump'] == 1){//如果后台设置为链接到跳转页面,则对下载地址进行再次处理 $uhash = substr(md5($link), 0, 24); $link = "/plus/download.php?open=2&id=$aid&uhash=$uhash"; } $links = "<tr><td class='line-name'><a href='".$link."' target='_blank'>".$serverName."</a></td><td>链接速度:</td><td class='line-speed'><p class='".$line." speed-bad'>".$rapidity."</p></td></tr>"; $downlinks .= $links; } } } } $dtp->Clear(); return $downlinks; } } else{ return "调用参数错误"; } } ?> |