您的位置:首页技术文章
文章详情页

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

【字号: 日期:2024-01-19 10:32:11浏览:4作者:猪猪
<?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"); */ ?>;;【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】;;;;
标签: PHP