广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    利用PHP实现与ASP Banner组件相似的类

    2018-05-08 11:29:22 次阅读 稿源:互联网
    零七广告
    <?php
      /*******************************************************
       作者: 吴振亨 (Biz)--phpscript
       E-mail:wuzhenheng@china.com
       web: http://phpscript.osh.com.cn
       文件名:AdRotator.class.php3                 
       版权声明:                      
      
       如果您使用了本文件,请给作者写一封E-mail   
       如有问题欢迎与作者联系
       谢谢您的关注!                     
      ********************************************************/
      
      /*
      广告条管理程序
      public method
          GetAdvertisement($adfile)
           
      parameters
          Target=
          Width=
          Height=
          Border=
          Redirect=
           
      */
      class AdRotator {
          var $Target="_blank";
          var $Width="460";
          var $Height="60";
          var $Border=0;
          var $Redirect="";
          var $BannerData=array ();
          var $RandTemp=1;
           
      function AdRotator()
          {
          }
      /*
      public  
      返回广告的链接字串
      */
      function GetAdvertisement($adfile)
          {
          if(count($this->BannerData)==0)
              {
              $this->BannerData=$this->ReadAdFile($adfile);
              }
          $AdData=$this->BannerData;
           
          $uplimited=count($AdData);
           
          //随机产生一个ID
          srand((double)microtime()*1000000000000000000);
          $id=@rand(1,$uplimited);
                      
              while($this->RandTemp==$id)
                     {
                  srand((double)microtime()*1000000000000000000);
                     //$id=@rand(1,count($AdData));
                     $id=@rand(1,$uplimited);
                     }
                 $this->RandTemp=$id;
               
             //echo $id;
             //echo count($AdData);
             //echo $AdData[5]["image"];
               
               
              $LinkString=" <a href="".$this->Redirect;
              $LinkString.="?url=".$AdData[$id]["url"];
              $LinkString.="" Target="".$this->Target;
              $LinkString.="" Title="".$AdData[$id]["title"];
              $LinkString.="" >";
              $LinkString.=" <img border="".$this->Border;
              $LinkString.="" src="".$AdData[$id]["image"];
              $LinkString.="" width="".$this->Width;
              $LinkString.="" height="".$this->Height;
              $LinkString.="" >";
              $LinkString.="</a>";
               
              //echo $LinkString;
              return $LinkString;
          }
      /*
      private
      读入文件的基本设置
      */
      function ReadAdFile($adfile)
          {
          $FP=fopen($adfile,"r");
          while($buffer=@fgets($FP,1024))
              {
              if(!eregi("#",$buffer))
                  {
                  if(eregi("^*",$buffer))
                      {
                      $switchto="off";
                      }
      
                  $SetTemp=split("=",$buffer);
      
                  if($switchto=="")
                      {
                      switch     ($SetTemp[0])
                          {
                          case "REDIRECT":
                          $this->Redirect=$SetTemp[1];
                          break;
                           
                          case "WIDTH":
                          $this->WIDTH=$SetTemp[1];
                          break;
                           
                          case "HEIGHT":
                          $this->HEIGHT=$SetTemp[1];
                          break;
                           
                          case "BORDER":
                          $this->BORDER=$SetTemp[1];
                          break;
                          case "TARGET":
                          $this->Target=$SetTemp[1];
                          break;
                          }
                      }
                  else
                      {
                      switch     ($SetTemp[0])
                          {
                          case "image":
                          $i++;
                          $BannerData[$i]["image"]=$SetTemp[1];
                          //echo "<br>";echo $buffer;echo $SetTemp[1];
                          //echo $BannerData[$i]["image"];
                          break;
                           
                          case "url":
                          $BannerData[$i]["url"]=$SetTemp[1];
                          break;
                           
                          case "title":
                          $BannerData[$i]["title"]=$SetTemp[1];
                          break;
                           
                          case "rate":
                          $BannerData[$i]["rate"]=$SetTemp[1];
                          break;
                          }//end of switch
                      }//end of if($switch)
                  }//end of if(#)
               
              }//end of while
      
          return $BannerData;
           
          }//end of function
      
      }//end of class
      
      /*
      使用方法
      广告设置文件书写格式banner.txt
      ------开始---
      REDIRECT=./adredir.asp
      WIDTH=468
      HEIGHT=60
      BORDER=0
      *
      
      #注释
      
      #某某公司广告1
      image=../banner/1.gif
      url=http://www.asps0ite.com1
      title=One
      rate=30
      ----结束-----
      说明:
      与ASP的广告组件相仿
      *表示设置,其他为图片的设置 #:表示注释
      
      ----使用-----
      $banner=new AdRotator();
      echo $banner->GetAdvertisement("./banner.txt");
      echo $banner->GetAdvertisement("./banner.txt");
      echo $banner->GetAdvertisement("./banner.txt");
      */
      ?>  
      
      【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    
     

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告