1
2/*******************************************************
3作者: 吴振亨 (Biz)--phpscript
4E-mail:[email protected]
5web: http://phpscript.osh.com.cn
6文件名:AdRotator.class.php3
7版权声明:
8
9如果您使用了本文件,请给作者写一封E-mail
10如有问题欢迎与作者联系
11谢谢您的关注!
12********************************************************/
13
14/*
15广告条管理程序
16public method
17GetAdvertisement($adfile)
18
19parameters
20Target=
21Width=
22Height=
23Border=
24Redirect=
25
26*/
27class AdRotator {
28var $Target="_blank";
29var $Width="460";
30var $Height="60";
31var $Border=0;
32var $Redirect="";
33var $BannerData=array ();
34var $RandTemp=1;
35
36function AdRotator()
37{
38}
39/*
40public
41返回广告的链接字串
42*/
43function GetAdvertisement($adfile)
44{
45if(count($this->BannerData)==0)
46{
47$this->BannerData=$this->ReadAdFile($adfile);
48}
49$AdData=$this->BannerData;
50
51$uplimited=count($AdData);
52
53//随机产生一个ID
54srand((double)microtime()*1000000000000000000);
55$id=@rand(1,$uplimited);
56
57while($this->RandTemp==$id)
58{
59srand((double)microtime()*1000000000000000000);
60//$id=@rand(1,count($AdData));
61$id=@rand(1,$uplimited);
62}
63$this->RandTemp=$id;
64
65//echo $id;
66//echo count($AdData);
67//echo $AdData[5]["image"];
68
69
70$LinkString="
<a .$this-="" href="">Redirect;
$LinkString.="?url=".$AdData[$id]["url"];
$LinkString.="" Target="".$this->Target;
$LinkString.="" Title="".$AdData[$id]["title"];
$LinkString.="" >";
$LinkString.=" <img .$this-="" border=""/>Border;
$LinkString.="" src="".$AdData[$id]["image"];
$LinkString.="" width="".$this->Width;
$LinkString.="" height="".$this->Height;
$LinkString.="" >";
$LinkString.="</a>
1";
2
3//echo $LinkString;
4return $LinkString;
5}
6/*
7private
8读入文件的基本设置
9*/
10function ReadAdFile($adfile)
11{
12$FP=fopen($adfile,"r");
13while($buffer=@fgets($FP,1024))
14{
15if(!eregi("#",$buffer))
16{
17if(eregi("^*",$buffer))
18{
19$switchto="off";
20}
21
22$SetTemp=split("=",$buffer);
23
24if($switchto=="")
25{
26switch ($SetTemp[0])
27{
28case "REDIRECT":
29$this->Redirect=$SetTemp[1];
30break;
31
32case "WIDTH":
33$this->WIDTH=$SetTemp[1];
34break;
35
36case "HEIGHT":
37$this->HEIGHT=$SetTemp[1];
38break;
39
40case "BORDER":
41$this->BORDER=$SetTemp[1];
42break;
43case "TARGET":
44$this->Target=$SetTemp[1];
45break;
46}
47}
48else
49{
50switch ($SetTemp[0])
51{
52case "image":
53$i++;
54$BannerData[$i]["image"]=$SetTemp[1];
55//echo "
<br/>
1";echo $buffer;echo $SetTemp[1];
2//echo $BannerData[$i]["image"];
3break;
4
5case "url":
6$BannerData[$i]["url"]=$SetTemp[1];
7break;
8
9case "title":
10$BannerData[$i]["title"]=$SetTemp[1];
11break;
12
13case "rate":
14$BannerData[$i]["rate"]=$SetTemp[1];
15break;
16}//end of switch
17}//end of if($switch)
18}//end of if(#)
19
20}//end of while
21
22return $BannerData;
23
24}//end of function
25
26}//end of class
27
28/*
29使用方法
30广告设置文件书写格式banner.txt
31\------开始---
32REDIRECT=./adredir.asp
33WIDTH=468
34HEIGHT=60
35BORDER=0
36*
37
38#注释
39
40#某某公司广告1
41image=../banner/1.gif
42url=http://www.asps0ite.com1
43title=One
44rate=30
45\----结束-----
46说明:
47与ASP的广告组件相仿
48*表示设置,其他为图片的设置 #:表示注释
49
50\----使用-----
51$banner=new AdRotator();
52echo $banner->GetAdvertisement("./banner.txt");
53echo $banner->GetAdvertisement("./banner.txt");
54echo $banner->GetAdvertisement("./banner.txt");
55*/
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】