利用PHP实现与ASP Banner组件相似的类_php教程-查字典教程网
利用PHP实现与ASP Banner组件相似的类
利用PHP实现与ASP Banner组件相似的类
发布时间:2016-12-29 来源:查字典编辑
摘要:【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】

<?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教程学习
    热门php教程学习
    编程开发子分类