织梦CMS下载地址如何全局调用函数

大家可以看到大多数的下载站在软件下载地址处使用的是全局调用函数来实现的,可以这样说很多的朋友不是太明白,我们还是先来看一张效果图(如下),大家应该明白我的意思了吧。下面是我从网上搜集来的相关调用实例,供大家学习研究。

大家可以看到大多数的下载站在软件下载地址处使用的是全局调用函数来实现的,可以这样说很多的朋友不是太明白,我们还是先来看一张效果图(如下),大家应该明白我的意思了吧。下面是我从网上搜集来的相关调用实例,供大家学习研究。

 

  1. <?php   
  2. /* -------------------------------  
  3. Content:软件内容页下载地址调用  
  4. Author: 爱哭的鱼(QQ:842974118)  
  5. WebSite: 一条龙建站(http://www.genban.org)  
  6. UpDateTime: 2010-07-17  
  7. ==========  
  8. Tigs:   
  9. 调用方法:{dede:field.id function="getsoftlinks(3,1,@me)"}   
  10. 参数说明:  
  11.     1.$channelid 是内容模型的ID;  
  12.     2.调用类型(1 = 本地 ;2 = 镜像列表)  
  13.     3.@me 为当前值,也是软件的文档ID编号  
  14. --------------------------------*/  
  15. function getsoftlinks($channelid,$type,$aid){   
  16.     global $dsql;   
  17.     $goto = $dsql->GetOne("Select * From `dede_softconfig` ");   
  18.     $channeltable = $dsql->GetOne("select * from `dede_channeltype` where id = $channelid");   
  19.     $addtable = $channeltable['addtable'];   
  20.     $row = $dsql->GetOne("select * from `".$addtable."` where aid = $aid");    
  21.     if ($type == 1){ //设置条件为调用本地下载   
  22.         if($row['softlinks'] != ''){ //判断下载地址是否为空;   
  23.             $dtp = new DedeTagParse();   
  24.             $dtp->LoadSource($row['softlinks']);   
  25.             foreach($dtp->CTags as $ctag){   
  26.                 if($ctag->GetName()=='link'){ //读取 {dede:link}的标签   
  27.                     $link = trim($ctag->GetInnerText()); //链接地址为底层模板;   
  28.                     $serverName = trim($ctag->GetAtt('text')); //服务器名称   
  29.                     $islocal = trim($ctag->GetAtt('islocal')); // 是否为本地的判断   
  30.                     if ($islocal == 1){//本地下载链接   
  31.                         if($goto['gotojump'] == 1){  //如果后台设置为链接到跳转页面,则对下载地址进行再次处理   
  32.                             $uhash = substr(md5($link), 0, 24);   
  33.                             $links = "/plus/download.php?open=2&id=$aid&uhash=$uhash";   
  34.                         }      
  35.                             return $links;   
  36.                     }   
  37.                 }   
  38.             }   
  39.         }              
  40.     }   
  41.     else if($type == 0){   
  42.         if($row['softlinks'] != ''){ //判断下载地址是否为空;   
  43.             $dtp = new DedeTagParse();   
  44.             $dtp->LoadSource($row['softlinks']);   
  45.             if(is_array($dtp->CTags)){   
  46.                 foreach($dtp->CTags as $ctag){   
  47.                     if($ctag->GetName()=='link'){ //读取 {dede:link}的标签   
  48.                         $link = trim($ctag->GetInnerText()); //链接地址为底层模板;   
  49.                         $serverName = trim($ctag->GetAtt('text')); //服务器名称   
  50.                         $islocal = trim($ctag->GetAtt('islocal')); // 是否为本地的判断   
  51.                         $rapidity = rand(0,70);   
  52.                         if ($rapidity == 0){   
  53.                             $line = 'stop';   
  54.                         }   
  55.                         elseif($rapidity <= 20){   
  56.                             $line = 'busy';   
  57.                         }   
  58.                         elseif($rapidity <= 40){   
  59.                             $line = 'nofree';   
  60.                         }   
  61.                         else{   
  62.                             $line = 'free';   
  63.                         }   
  64.                         if ($islocal != 1){   
  65.                             if($goto['gotojump'] == 1){//如果后台设置为链接到跳转页面,则对下载地址进行再次处理   
  66.                                 $uhash = substr(md5($link), 0, 24);   
  67.                                 $link = "/plus/download.php?open=2&id=$aid&uhash=$uhash";   
  68.                             }   
  69.                             $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>";   
  70.                             $downlinks .= $links;   
  71.                         }   
  72.                     }   
  73.                 }   
  74.             }   
  75.             $dtp->Clear();   
  76.             return $downlinks;   
  77.         }   
  78.     }   
  79.     else{   
  80.         return "调用参数错误";   
  81.     }   
  82. }   
  83. ?>  
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

在使用 dedecms 做软件下载站的时候,可能首页需要调用软件的一些信息。比如dedecms首页软件的文件类型调用,dedecms首页软件的语言调用,dedecms首页软件的文件类型调用,dedecms首页软件的授权方式调用,dedecms首页软件的适用平台调用,dedecms首页软件的
DEDE图片本地化失效的主要原因: 服务器上的运行环境中禁用了fsockopen()函数 解决方案一: 在用fsockopen()的地方用stream_socket_client()函数代替。 具体修改地方是 /include/dedehttpdown.class.php 第507行 $this-m_fp = @fsockopen($this-m_host, $thi
织梦DEDECMS修改下载地址{dede:fieldname=softlinks/}格式方法 /templets/system/channel_downlinks.htm 里面的 liahref=~link~target=_blank~server~/a/li 修改为 ~link~ 这样就只是显示链接了。
DEDECMS利用strftime()函数格式化时间的所有参数详解,包括年份日期进制、小时格式等,大家收藏吧,呵. 日期时间格式 (利用strftime()函数格式化时间)0 dedecms首页时间标签: 1、12-27 样式 ([field:pubdate function=strftime(%m-%d,@me)/]) 2、May 15, 2
织梦 的arclist标签可以按照文章点击次数、发布日期、得分等进行排序,今天有个客户需要按照软件下载次数进行排列,于是做了简单二次开发,首先找到include目录下面的taglib目录里的arclist.lib.php文件在376行后加入如下代码 if($orderby == down) { $sql =
今天把下载频道开启了镜像站点,开启了 根据本地地址和服务器列表自动生成 ,这样较省事,不用每个都填。但是会遇到一个问题,当链接非本地时,也会去根据下载地址链接替换掉域名部分生成镜像下载点,这样就会出错,因为镜像站点其目录下根本没这个文件。所