<?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"); */ ?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
|
|