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

?php
/*******************************************************
作者: 吴振亨 (Biz)–phpscript E-mail:wuzhenheng@china.com web:
文件名: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= title=One rate=30 —-结束—– 说明:
与ASP的广告组件相仿 *表示设置,其他为图片的设置 #:表示注释
—-使用—– $banner=new AdRotator(); echo
$banner-GetAdvertisement(“./banner.txt”); echo
$banner-GetAdvertisement(“./banner.txt”); echo
$banner-GetAdvertisement(“./banner.txt”); */ ?