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 相关文章推荐
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 PHP
php explode函数实例代码
Feb 27 PHP
PHP 年龄计算函数(精确到天)
Jun 07 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
初识PHP
Sep 28 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
php简单smarty入门程序实例
Jun 11 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 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
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
PHP7 list() 函数修改
2021/03/09 PHP
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
jquery自定义组件实例详解
2020/12/31 jQuery
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python数据处理实战(必看篇)
2017/06/11 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python怎么对数字进行过滤
2020/07/05 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
员工自我鉴定
2013/10/09 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
春节请假条
2014/04/11 职场文书
食品安全工作方案
2014/05/07 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
环境科学专业求职信
2014/08/04 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
2014年党支部工作总结
2014/11/13 职场文书
儿园租房协议书范本
2014/12/02 职场文书
初中学生操行评语
2014/12/26 职场文书
仰望星空观后感
2015/06/10 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书