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 相关文章推荐
JpGraph php柱状图使用介绍
Aug 23 PHP
php实现快速排序法函数代码
Aug 27 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
如何设置mysql允许外网访问
Jun 04 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
phpmyadmin打开很慢的解决方法
Apr 21 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
PHP isset empty函数相关面试题及解析
Dec 11 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 模拟$_PUT实现代码
2010/03/15 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
js模拟微博发布消息
2017/02/23 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python实现文件复制删除
2016/04/19 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
python如何实现int函数的方法示例
2018/02/19 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
python中return的返回和执行实例
2019/12/24 Python
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
临床医师专业个人自我评价
2014/01/08 职场文书
公司委托书范本
2014/04/04 职场文书
村居抓节水倡议书
2014/05/19 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
岗位安全生产责任书
2014/07/28 职场文书
单位婚育证明范本
2014/11/21 职场文书
医者仁心观后感
2015/06/17 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python