利用PHP实现与ASP Banner组件相似的类


Posted in PHP onOctober 09, 2006

<?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 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
PHP经典面试题集锦
Mar 19 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
PHP框架性能测试报告
May 08 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php中static和const关键字用法分析
Dec 07 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
PHP聊天室技术
Oct 09 #PHP
在windows iis5下安装php4.0+mysql之我见
Oct 09 #PHP
PHP安装攻略:常见问题解答(二)
Oct 09 #PHP
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 #PHP
NO3第三帝国留言簿制作过程
Oct 09 #PHP
基于数据库的在线人数,日访问量等统计
Oct 09 #PHP
PHP安装攻略:常见问题解答(三)
Oct 09 #PHP
You might like
开发大型 PHP 项目的方法
2007/01/02 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python得到电脑的开机时间方法
2018/10/15 Python
解决python 上传图片限制格式问题
2019/10/30 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
python实现双人五子棋(终端版)
2020/12/30 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
校园之星获奖感言
2014/01/29 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
Nginx配置Https安全认证的实现
2021/05/26 Servers