/*******************************************************
作者: 吴振亨 (Biz)–phpscript
E-mail:wuzhenheng@china.
搞gaodaima代码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=” Redirect;
$LinkString.=”?url=”.$AdData[$id][“url”];
$LinkString.=”” Target=””.$this->Target;
$LinkString.=”” Title=””.$AdData[$id][“title”];
$LinkString.=”” >”;
$LinkString.=” Border;
$LinkString.=”” src=””.$AdData[$id][“image”];%20
%20%20%20%20%20%20%20%20$LinkString.=””%20width=””.$this->Width;%20
%20%20%20%20%20%20%20%20$LinkString.=””%20height=””.$this->Height;%20
%20%20%20%20%20%20%20%20$LinkString.=””%20>”;%20
%20%20%20%20%20%20%20%20$LinkString.=””;%20
%20%20%20%20%20%20%20%20//echo%20$LinkString;%20
%20%20%20%20%20%20%20%20return%20$LinkString;%20
%20%20%20%20}%20
/*%20
private%20
读入文件的基本设置%20
*/%20
function%20ReadAdFile($adfile)%20
%20%20%20%20{%20
%20%20%20%20$FP=fopen($adfile,”r”);%20
%20%20%20%20while($buffer=@fgets($FP,1024))%20
%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20if(!eregi(“#”,$buffer))%20
%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20if(eregi(“^*”,$buffer))%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$switchto=”off”;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20
%20%20%20%20%20%20%20%20%20%20%20%20$SetTemp=split(“=”,$buffer);%20
%20%20%20%20%20%20%20%20%20%20%20%20if($switchto==””)%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20switch%20%20%20%20%20($SetTemp[0])%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″REDIRECT”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$this->Redirect=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″WIDTH”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$this->WIDTH=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″HEIGHT”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$this->HEIGHT=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″BORDER”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$this->BORDER=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″TARGET”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$this->Target=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20
%20%20%20%20%20%20%20%20%20%20%20%20else%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20switch%20%20%20%20%20($SetTemp[0])%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″image”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$i++;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$BannerData[$i][“image”]=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//echo%20″
“;echo%20$buffer;echo%20$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//echo%20$BannerData[$i][“image”];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″url”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$BannerData[$i][“url”]=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″title”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$BannerData[$i][“title”]=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20″rate”:%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20$BannerData[$i][“rate”]=$SetTemp[1];%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break;%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}//end%20of%20switch%20
%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}//end%20of%20if($switch)%20
%20%20%20%20%20%20%20%20%20%20%20%20}//end%20of%20if(#)%20
%20%20%20%20%20%20%20%20}//end%20of%20while%20
%20%20%20%20return%20$BannerData;%20
%20%20%20%20}//end%20of%20function%20
}//end%20of%20class%20
/*%20
使用方法%20
广告设置文件书写格式banner.txt%20
——开始—%20
REDIRECT=./adredir.asp%20
WIDTH=468%20
HEIGHT=60%20
BORDER=0%20
*%20
#注释%20
#某某公司广告1%20
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”);
*/
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】