php 广告调用类代码(支持Flash调用)


Posted in PHP onAugust 11, 2011

调用方式如下:其中DebugStr这个函数就是类似一个echo。

DebugStr('$Adv->getContentById($id); $id为广告编号, 仅调用一条,返回内容为字符串'); 
echo Adv::getContentById(35); 
DebugStr('$Adv->getContentByIdJS($id); $id为广告编号, 仅调用一条,返回内容为JS字符串'); 
echo Adv::getContentByIdJS(35); 
DebugStr('$Adv->getContentByOrder($id); $id为广告编号, 仅调用ID倒序一条,返回内容为字符串'); 
echo Adv::getContentByOrder(4); 
DebugStr('$Adv->getContentByOrderJS($id); $id为广告编号, 仅调用ID倒序一条,返回内容为JS字符串'); 
echo Adv::getContentByOrderJS(4); 
echo '<hr>';

类如下:
<?php 
/** 
* 说明:广告类,方便广告列表、内容的调用。 
* 需要:数据库类 
* 支持:仅支持PHP5,单件模式 
* 
* @author Zerolone 
* @version 2011-1-6 11:32:06 
* 调用方法 
* Adv::getContentById($id); $id为广告编号, 仅调用一条,返回内容为字符串 
* Adv::getContentByIdJs($id); $id为广告编号, 仅调用一条,返回内容为JS字符串 
* Adv::getContentByOrder($order); $order为对应, 仅调用ID倒序一条,返回内容为字符串 
* Adv::getContentByOrderJs($order); $order对应顺序, 仅调用ID倒序一条,返回内容为JS字符串 
*/ 
class Adv { 
static $Id = 0; //编号 
static $Order = 0; //顺序 
static $JS = 0; //是否使用JS, 0为不使用 
/** 
* 根据Id, 返回广告内容,仅调用一条 
* 
* @param 编号 $id 
* 
*/ 
public static function getContentById($id){ 
self::$Id = $id; 
return self::getContent(); 
} 
/** 
* 根据Id, 返回广告内容Js,仅调用一条 
* 
* @param 编号 $id 
* 
*/ 
public static function getContentByIdJS($id){ 
self::$Id = $id; 
self::$JS = 1; 
return self::getContent(); 
} 
/** 
* 根据Order, 返回广告内容,仅调用一条 
* 
* @param 编号 $Order 
* 
*/ 
public static function getContentByOrder($order){ 
self::$Order = $order; 
return self::getContent(); 
} 
/** 
* 根据Order, 返回广告内容Js,仅调用一条 
* 
* @param 编号 $Order 
* 
*/ 
public static function getContentByOrderJS($order){ 
self::$Order = $order; 
self::$JS = 1; 
return self::getContent(); 
} 
/** 
* 生成一个广告内容,只调用一条 
* 
* @return 广告内容 
*/ 
private function getContent(){ 
$ReturnContent=''; 
//------------------0-------1--------2--------3 
$SqlStr = 'SELECT `pic`, `width`, `height`, `url` FROM '.TABLE_ADV; 
if(self::$Id){ 
$SqlStr.= ' WHERE `id`=' . self::$Id; 
}else{ 
$SqlStr.= ' WHERE `order`=' . self::$Order; 
$SqlStr.= ' ORDER BY `id` DESC '; 
} 
$SqlStr.= ' LIMIT 1'; 
$MyDatabase=Database::Get(); 
$MyDatabase->SqlStr = $SqlStr; 
if ($MyDatabase->Query ()) { 
$DB_Record = $MyDatabase->ResultArr [0]; 
$FileName = $DB_Record[0]; 
$Width = $DB_Record[1]; 
$Height = $DB_Record[2]; 
$Url = $DB_Record[3]; 
} 
//判断类型 
$FileName_Ext=strtoupper(pathinfo($FileName, PATHINFO_EXTENSION)); 
if ($FileName_Ext=='SWF'){ 
//Flash广告 
$ReturnContent = '<table width="' . $Width .'" border="0" cellspacing="0" cellpadding="0">'; 
$ReturnContent.= '<tr>'; 
$ReturnContent.= '<td height="' . $Height . '">'; 
$ReturnContent.= '<table width="100%" border="0" cellpadding="0" cellspacing="0">'; 
$ReturnContent.= '<tr>'; 
$ReturnContent.= '<td>'; 
$ReturnContent.= '<div style="position:absolute; width:0px; height:0px; z-index:1">'; 
$ReturnContent.= '<div style="position:absolute; left:0px; top:0px; width:' . $Width . 'px; height:' . $Height . 'px; z-index:2; filter:alpha(opacity=0)">'; 
$ReturnContent.= '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">'; 
$ReturnContent.= '<tr>'; 
$ReturnContent.= '<td style="cursor:hand" onClick=window.open("'. $Url . '");> </td>'; 
$ReturnContent.= '</tr>'; 
$ReturnContent.= '</table>'; 
$ReturnContent.= '</div>'; 
$ReturnContent.= '</div>'; 
$ReturnContent.= '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http<SPAN class=makelinks_urlspan>://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab<!--makelinks--><A class=makelinks_url title=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab style="MARGIN: 1px; VERTICAL-ALIGN: middle" href="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" target=_blank><IMG style="FLOAT: none; MARGIN: 1px; VERTICAL-ALIGN: middle; WIDTH: 18px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 18px; BORDER-BOTTOM-STYLE: none" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPkgAAD5IBBKh+oAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANFSURBVDiNlZJLaNxVFIe/+3/OZJJMokMzxqTJOJ2kmkYbtBCxosSC0NiN0l11aUXcduNKKF0otBBcuXXhQlCkohUtSIvaSDBVqyEvjW3TxDwmk2Smmf/jPlwkMzXFLDxw+cHhnu+c+ztXGGMYGnrlmcf7jrydakp38T8iCqurt25OjXz8yQefOUtLS6nnnxv+sNBz6BEhBI7dAMDy8gz79hV2FQqh+XtxlrZsTz3XlesbmP3reLe9sLz25OCRl87M/fErm5tFWloewhjwPQfLSiAEgEFrEMT8cO0rcrkncBwbpTTJZNqfnBidc6Io8m3bvq+zYPznyxTyTzE1/SO+30CptM4LQyexLIvpqSs0pzNks30A2I7nWnu9P44ijAHHbuTw4WH8xHazUmkeIUQdUos6yLYt7sxP8tuNy9ytLOF6HkKAZdtMz1wnkfAByGS60EZw+9bYLpADUAo06439pHr7iYVg+i64+4eZi2Fm8SovHk0zsdCAvWRoefRlAgEBsLYc0pZy74FSrqA77dTpxtTMgo3mJMeODTH2y0c83OjU87V7nhCoWG+DPFvgO7sNr0WDb9Pa2kpUKaLKC7S1daK1IVYaKTWhVMRa4fxn9b9NFBaJRAIlV/lp/CLVqiTbfohstkCqKUMsQWm9N2hs7BJSlVlZWcN1XV597RSTk7P09uY5d+5d8gcO0pE7geM2E8Z7gKTStDzQSa4bLlwYoVwuMzg4yMDAAEEQcPbsO8zPz/PN1Tky2ceIJfdAShuk1EiliaWm9cEDjF//nPPn3yMIAlzXRSmF1ppstg1jNOul30mmC0i1M1E1UMTK1CE1LZZC8vkcxhjCMEQphZQSpRTpdJow2EDr7RVbIKlUYyrVmPLWtlZ2VDidjI6OEQQBYRgShiFxHCOlZGJikmRTd/2rWO0dHcurxWJc2ZLUTnlHUy09XPr6O4IgIAgCoigiiiKklHx7ZZzWzEG00kRBZUUUi8Xm02+NfJErDB2N1bbRUun6yHf+/JJnBzvxfQ/PdXE9G8e2+fTiNdrzJ1m8fWMuu/90rzDG8PqZLca/f+NNL9Hcf/8GtZJWGGwmtVaW1tKuaSKZ3nJtb7oh/fT7PX2nNv4BjlSkNxLrX2YAAAAASUVORK5CYII="></A></SPAN>#version=7,0,19,0" width="'.$Width.'" height="'.$Height.'">'; 
$ReturnContent.= '<param name="movie" value="'.$FileName.'">'; 
$ReturnContent.= '<param name="quality" value="high">'; 
$ReturnContent.= '<param name="wmode" value="transparent">'; 
$ReturnContent.= '<embed src="'.$FileName.'" quality="high" wmode="transparent" pluginspage="http<SPAN class=makelinks_urlspan>://www.macromedia.com/go/getflashplayer<!--makelinks--><A class=makelinks_url title=http://www.macromedia.com/go/getflashplayer style="MARGIN: 1px; VERTICAL-ALIGN: middle" href="http://www.macromedia.com/go/getflashplayer" target=_blank><IMG style="FLOAT: none; MARGIN: 1px; VERTICAL-ALIGN: middle; WIDTH: 18px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 18px; BORDER-BOTTOM-STYLE: none" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPkgAAD5IBBKh+oAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANFSURBVDiNlZJLaNxVFIe/+3/OZJJMokMzxqTJOJ2kmkYbtBCxosSC0NiN0l11aUXcduNKKF0otBBcuXXhQlCkohUtSIvaSDBVqyEvjW3TxDwmk2Smmf/jPlwkMzXFLDxw+cHhnu+c+ztXGGMYGnrlmcf7jrydakp38T8iCqurt25OjXz8yQefOUtLS6nnnxv+sNBz6BEhBI7dAMDy8gz79hV2FQqh+XtxlrZsTz3XlesbmP3reLe9sLz25OCRl87M/fErm5tFWloewhjwPQfLSiAEgEFrEMT8cO0rcrkncBwbpTTJZNqfnBidc6Io8m3bvq+zYPznyxTyTzE1/SO+30CptM4LQyexLIvpqSs0pzNks30A2I7nWnu9P44ijAHHbuTw4WH8xHazUmkeIUQdUos6yLYt7sxP8tuNy9ytLOF6HkKAZdtMz1wnkfAByGS60EZw+9bYLpADUAo06439pHr7iYVg+i64+4eZi2Fm8SovHk0zsdCAvWRoefRlAgEBsLYc0pZy74FSrqA77dTpxtTMgo3mJMeODTH2y0c83OjU87V7nhCoWG+DPFvgO7sNr0WDb9Pa2kpUKaLKC7S1daK1IVYaKTWhVMRa4fxn9b9NFBaJRAIlV/lp/CLVqiTbfohstkCqKUMsQWm9N2hs7BJSlVlZWcN1XV597RSTk7P09uY5d+5d8gcO0pE7geM2E8Z7gKTStDzQSa4bLlwYoVwuMzg4yMDAAEEQcPbsO8zPz/PN1Tky2ceIJfdAShuk1EiliaWm9cEDjF//nPPn3yMIAlzXRSmF1ppstg1jNOul30mmC0i1M1E1UMTK1CE1LZZC8vkcxhjCMEQphZQSpRTpdJow2EDr7RVbIKlUYyrVmPLWtlZ2VDidjI6OEQQBYRgShiFxHCOlZGJikmRTd/2rWO0dHcurxWJc2ZLUTnlHUy09XPr6O4IgIAgCoigiiiKklHx7ZZzWzEG00kRBZUUUi8Xm02+NfJErDB2N1bbRUun6yHf+/JJnBzvxfQ/PdXE9G8e2+fTiNdrzJ1m8fWMuu/90rzDG8PqZLca/f+NNL9Hcf/8GtZJWGGwmtVaW1tKuaSKZ3nJtb7oh/fT7PX2nNv4BjlSkNxLrX2YAAAAASUVORK5CYII="></A></SPAN>" type="application/x-shockwave-flash" width="'.$Width.'" height="'.$Height.'"></embed></object>'; 
$ReturnContent.= '</td>'; 
$ReturnContent.= '</tr>'; 
$ReturnContent.= '</table>'; 
$ReturnContent.= '</td>'; 
$ReturnContent.= '</tr>'; 
$ReturnContent.= '</table>'; 
}else{ 
//图片广告 
$ReturnContent = '<a target="_blank" href="'.$Url.'"><img src="'.$FileName.'" width="'.$Width.'" height="'.$Height.'" border="0" /></a>'; 
} 
//如果为调用JS方式 
if(self::$JS){ 
$ReturnContent = 'document.write("'.addslashes($ReturnContent).'");'; 
} 
//重置默认值,这里还是采用单件模式 
self::$Id = 0; 
self::$Order = 0; 
self::$JS = 0; 
return $ReturnContent; 
} 
} 
?>
PHP 相关文章推荐
PHP中对数据库操作的封装
Oct 09 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
有关php运算符的知识大全
Nov 03 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP实现文件上传功能实例代码
May 18 PHP
php 中英文语言转换类代码
Aug 11 #PHP
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 #PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 #PHP
php的urlencode()URL编码函数浅析
Aug 09 #PHP
php简单的会话类代码
Aug 08 #PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 #PHP
兼容firefox,chrome的网页灰度效果
Aug 08 #PHP
You might like
php下通过POST还是GET来传值
2008/06/05 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
jQuery Tools tab使用介绍
2012/07/14 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
python脚本后台执行方式
2019/12/21 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
会计毕业生自荐信
2013/11/21 职场文书
员工考核管理制度
2014/02/02 职场文书
老公婚前保证书
2015/02/28 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
礼仪培训心得体会
2016/01/22 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python