Discuz教程网

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

[复制链接]
authicon dly 发表于 2011-8-31 11:17:02 | 显示全部楼层 |阅读模式
调用方式如下:其中DebugStr这个函数就是类似一个echo。
代码如下:

  1. DebugStr('$Adv->getContentById($id); $id为广告编号, 仅调用一条,返回内容为字符串');
  2. echo Adv::getContentById(35);
  3. DebugStr('$Adv->getContentByIdJS($id); $id为广告编号, 仅调用一条,返回内容为JS字符串');
  4. echo Adv::getContentByIdJS(35);
  5. DebugStr('$Adv->getContentByOrder($id); $id为广告编号, 仅调用ID倒序一条,返回内容为字符串');
  6. echo Adv::getContentByOrder(4);
  7. DebugStr('$Adv->getContentByOrderJS($id); $id为广告编号, 仅调用ID倒序一条,返回内容为JS字符串');
  8. echo Adv::getContentByOrderJS(4);
  9. echo '<hr>';
复制代码

    


类如下:
代码如下:

  1. <?php
  2. /**
  3. * 说明:广告类,方便广告列表、内容的调用。
  4. * 需要:数据库类
  5. * 支持:仅支持PHP5,单件模式
  6. *
  7. * @author Zerolone
  8. * @version 2011-1-6 11:32:06
  9. * 调用方法
  10. * Adv::getContentById($id); $id为广告编号, 仅调用一条,返回内容为字符串
  11. * Adv::getContentByIdJs($id); $id为广告编号, 仅调用一条,返回内容为JS字符串
  12. * Adv::getContentByOrder($order); $order为对应, 仅调用ID倒序一条,返回内容为字符串
  13. * Adv::getContentByOrderJs($order); $order对应顺序, 仅调用ID倒序一条,返回内容为JS字符串
  14. */
  15. class Adv {
  16. static $Id = 0; //编号
  17. static $Order = 0; //顺序
  18. static $JS = 0; //是否使用JS, 0为不使用
  19. /**
  20. * 根据Id, 返回广告内容,仅调用一条
  21. *
  22. * @param 编号 $id
  23. *
  24. */
  25. public static function getContentById($id){
  26. self::$Id = $id;
  27. return self::getContent();
  28. }
  29. /**
  30. * 根据Id, 返回广告内容Js,仅调用一条
  31. *
  32. * @param 编号 $id
  33. *
  34. */
  35. public static function getContentByIdJS($id){
  36. self::$Id = $id;
  37. self::$JS = 1;
  38. return self::getContent();
  39. }
  40. /**
  41. * 根据Order, 返回广告内容,仅调用一条
  42. *
  43. * @param 编号 $Order
  44. *
  45. */
  46. public static function getContentByOrder($order){
  47. self::$Order = $order;
  48. return self::getContent();
  49. }
  50. /**
  51. * 根据Order, 返回广告内容Js,仅调用一条
  52. *
  53. * @param 编号 $Order
  54. *
  55. */
  56. public static function getContentByOrderJS($order){
  57. self::$Order = $order;
  58. self::$JS = 1;
  59. return self::getContent();
  60. }
  61. /**
  62. * 生成一个广告内容,只调用一条
  63. *
  64. * @return 广告内容
  65. */
  66. private function getContent(){
  67. $ReturnContent='';
  68. //------------------0-------1--------2--------3
  69. $SqlStr = 'SELECT `pic`, `width`, `height`, `url` FROM '.TABLE_ADV;
  70. if(self::$Id){
  71. $SqlStr.= ' WHERE `id`=' . self::$Id;
  72. }else{
  73. $SqlStr.= ' WHERE `order`=' . self::$Order;
  74. $SqlStr.= ' ORDER BY `id` DESC ';
  75. }
  76. $SqlStr.= ' LIMIT 1';
  77. $MyDatabase=Database::Get();
  78. $MyDatabase->SqlStr = $SqlStr;
  79. if ($MyDatabase->Query ()) {
  80. $DB_Record = $MyDatabase->ResultArr [0];
  81. $FileName = $DB_Record[0];
  82. $Width = $DB_Record[1];
  83. $Height = $DB_Record[2];
  84. $Url = $DB_Record[3];
  85. }
  86. //判断类型
  87. $FileName_Ext=strtoupper(pathinfo($FileName, PATHINFO_EXTENSION));
  88. if ($FileName_Ext=='SWF'){
  89. //Flash广告
  90. $ReturnContent = '<table width="' . $Width .'" border="0" cellspacing="0" cellpadding="0">';
  91. $ReturnContent.= '<tr>';
  92. $ReturnContent.= '<td height="' . $Height . '">';
  93. $ReturnContent.= '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
  94. $ReturnContent.= '<tr>';
  95. $ReturnContent.= '<td>';
  96. $ReturnContent.= '<div style="position:absolute; width:0px; height:0px; z-index:1">';
  97. $ReturnContent.= '<div style="position:absolute; left:0px; top:0px; width:' . $Width . 'px; height:' . $Height . 'px; z-index:2; filter:alpha(opacity=0)">';
  98. $ReturnContent.= '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">';
  99. $ReturnContent.= '<tr>';
  100. $ReturnContent.= '<td style="cursor:hand" onClick=window.open("'. $Url . '");> </td>';
  101. $ReturnContent.= '</tr>';
  102. $ReturnContent.= '</table>';
  103. $ReturnContent.= '</div>';
  104. $ReturnContent.= '</div>';
  105. $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.'">';
  106. $ReturnContent.= '<param name="movie" value="'.$FileName.'">';
  107. $ReturnContent.= '<param name="quality" value="high">';
  108. $ReturnContent.= '<param name="wmode" value="transparent">';
  109. $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>';
  110. $ReturnContent.= '</td>';
  111. $ReturnContent.= '</tr>';
  112. $ReturnContent.= '</table>';
  113. $ReturnContent.= '</td>';
  114. $ReturnContent.= '</tr>';
  115. $ReturnContent.= '</table>';
  116. }else{
  117. //图片广告
  118. $ReturnContent = '<a target="_blank" href="'.$Url.'"><img src="'.$FileName.'" width="'.$Width.'" height="'.$Height.'" border="0" /></a>';
  119. }
  120. //如果为调用JS方式
  121. if(self::$JS){
  122. $ReturnContent = 'document.write("'.addslashes($ReturnContent).'");';
  123. }
  124. //重置默认值,这里还是采用单件模式
  125. self::$Id = 0;
  126. self::$Order = 0;
  127. self::$JS = 0;
  128. return $ReturnContent;
  129. }
  130. }
  131. ?>
复制代码








上一篇:pdo中使用参数化查询sql
下一篇:PHP 中英文语言转换类代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表