大家可以看到大多数的下载站在软件下载地址处使用的是全局调用函数来实现的,可以这样说很多的朋友不是太明白,我们还是先来看一张效果图(如下),大家应该明白我的意思了吧。下面是我从网上搜集来的相关调用实例,供大家学习研究。
- <?php
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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'){
- $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'){
- $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 "调用参数错误";
- }
- }
- ?>
|