利用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个人网站架设连环讲(一)
Oct 09 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
php变量作用域的深入解析
Jun 03 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
php 数组元素快速去重
May 05 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
php实现断点续传大文件示例代码
Jun 19 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中的登陆login
2007/01/18 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
毕业自荐信
2013/12/16 职场文书
物流合作计划书
2014/01/10 职场文书
篝火晚会主持词
2014/03/25 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
培训通知书模板
2015/04/17 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
活动经费申请报告
2015/05/15 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技