利用PHP实现与ASPBanner组件相似的类
2023-06-13 09:13:44 时间
<?php
/*******************************************************
作者:吴振亨(Biz)--phpscript
E-mail:wuzhenheng@china.com
web:http://phpscript.osh.com.cn
文件名:AdRotator.class.php3
版权声明:
如果您使用了本文件,请给作者写一封E-mail
如有问题欢迎与作者联系
谢谢您的关注!
********************************************************/
/*
广告条管理程序
publicmethod
GetAdvertisement($adfile)
parameters
Target=
Width=
Height=
Border=
Redirect=
*/
classAdRotator{
var$Target="_blank";
var$Width="460";
var$Height="60";
var$Border=0;
var$Redirect="";
var$BannerData=array();
var$RandTemp=1;
functionAdRotator()
{
}
/*
public
返回广告的链接字串
*/
functionGetAdvertisement($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;
//echocount($AdData);
//echo$AdData[5]["image"];
$LinkString="<ahref="".$this->Redirect;
$LinkString.="?url=".$AdData[$id]["url"];
$LinkString.=""Target="".$this->Target;
$LinkString.=""Title="".$AdData[$id]["title"];
$LinkString.="">";
$LinkString.="<imgborder="".$this->Border;
$LinkString.=""src="".$AdData[$id]["image"];
$LinkString.=""width="".$this->Width;
$LinkString.=""height="".$this->Height;
$LinkString.="">";
$LinkString.="</a>";
//echo$LinkString;
return$LinkString;
}
/*
private
读入文件的基本设置
*/
functionReadAdFile($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;
}//endofswitch
}//endofif($switch)
}//endofif(#)
}//endofwhile
return$BannerData;
}//endoffunction
}//endofclass
/*
使用方法
广告设置文件书写格式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=newAdRotator();
echo$banner->GetAdvertisement("./banner.txt");
echo$banner->GetAdvertisement("./banner.txt");
echo$banner->GetAdvertisement("./banner.txt");
*/
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
/*******************************************************
作者:吴振亨(Biz)--phpscript
E-mail:wuzhenheng@china.com
web:http://phpscript.osh.com.cn
文件名:AdRotator.class.php3
版权声明:
如果您使用了本文件,请给作者写一封E-mail
如有问题欢迎与作者联系
谢谢您的关注!
********************************************************/
/*
广告条管理程序
publicmethod
GetAdvertisement($adfile)
parameters
Target=
Width=
Height=
Border=
Redirect=
*/
classAdRotator{
var$Target="_blank";
var$Width="460";
var$Height="60";
var$Border=0;
var$Redirect="";
var$BannerData=array();
var$RandTemp=1;
functionAdRotator()
{
}
/*
public
返回广告的链接字串
*/
functionGetAdvertisement($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;
//echocount($AdData);
//echo$AdData[5]["image"];
$LinkString="<ahref="".$this->Redirect;
$LinkString.="?url=".$AdData[$id]["url"];
$LinkString.=""Target="".$this->Target;
$LinkString.=""Title="".$AdData[$id]["title"];
$LinkString.="">";
$LinkString.="<imgborder="".$this->Border;
$LinkString.=""src="".$AdData[$id]["image"];
$LinkString.=""width="".$this->Width;
$LinkString.=""height="".$this->Height;
$LinkString.="">";
$LinkString.="</a>";
//echo$LinkString;
return$LinkString;
}
/*
private
读入文件的基本设置
*/
functionReadAdFile($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;
}//endofswitch
}//endofif($switch)
}//endofif(#)
}//endofwhile
return$BannerData;
}//endoffunction
}//endofclass
/*
使用方法
广告设置文件书写格式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=newAdRotator();
echo$banner->GetAdvertisement("./banner.txt");
echo$banner->GetAdvertisement("./banner.txt");
echo$banner->GetAdvertisement("./banner.txt");
*/
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
相关文章
- [PHP代码]php代码书写规范和要求
- 开发Linux下PHP模块开发:实现程序性能最大化(linux下php模块)
- 测试MySQL触发器构建:PHP测试实例(mysql触发器php)
- 数据PHP简单操作实现MySQL数据输出(php输出mysql)
- 技术实现的网络系统PHP和MySQL结合:搭建网络系统的利器.(基于php和mysql)
- PHP连接MySQL的实现方法(php怎么连接mysql)
- Linux下运行PHP脚本的简单步骤(linux运行php脚本)
- 远程探索——PHP与MySQL的结合(php远程连接mysql)
- 实现Linux版PHP动态编译——一案子的艰辛实践(php编译linux)
- 库学会使用PHP操作MSSQL类库,輕鬆完成高效工作(php操作mssql类)
- 使用PHP实现Redis队列(redis队列php)
- PHP与MSSQL的结合:实现无缝连接(php调用mssql)
- Linux更换PHP:把握安装机会(linux 更换php)
- 数据从MySQL中用PHP取得数据(php 获取 mysql)
- 快速学习PHP Redis的使用方法(php redis怎么用)
- 使用PHP封装MSSQL管理数据库(php封装mssql)
- 学习PHP掌握MSSQL数据库操作的技巧(php如何操作mssql)
- PHP实现MSSQL数据库分页功能(php分页类 mssql)
- Linux下实现高效的PHP配置(linux下php配置)
- PHP如何实现与MSSQL的连接(要php链接mssql)
- 菜鸟学习Redis提升PHP运行效率(菜鸟 redis php)
- 利用PHP实现Redis队列任务的并发处理(redis队列任务php)
- 以Redis为中心 轻松实现PHP消息订阅(redis消息订阅php)
- PHP调用三种数据库的方法(2)
- 利用Memcached在php下实现session机制替换PHP的原生session支持
- PHP和Mysqlweb应用开发核心技术-第1部分Php基础-2php语言介绍
- 配置php.ini实现PHP文件上传功能