Maison >développement back-end >tutoriel php >php 广告调用类代码(支持Flash调用)

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

高洛峰
高洛峰original
2016-11-30 10:41:211145parcourir

调用方式如下:其中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 'f32b48428a809b51f04d3228cdf461fa';     

类如下: 
复制代码 代码如下: 

<?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=&#39;&#39;; 
//------------------0-------1--------2--------3 
$SqlStr = &#39;SELECT `pic`, `width`, `height`, `url` FROM &#39;.TABLE_ADV; 
if(self::$Id){ 
$SqlStr.= &#39; WHERE `id`=&#39; . self::$Id; 
}else{ 
$SqlStr.= &#39; WHERE `order`=&#39; . self::$Order; 
$SqlStr.= &#39; ORDER BY `id` DESC &#39;; 
} 
$SqlStr.= &#39; LIMIT 1&#39;; 
$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==&#39;SWF&#39;){ 
//Flash广告 
$ReturnContent = &#39;<table width="&#39; . $Width .&#39;" border="0" cellspacing="0" cellpadding="0">&#39;; 
$ReturnContent.= &#39;<tr>&#39;; 
$ReturnContent.= &#39;<td height="&#39; . $Height . &#39;">&#39;; 
$ReturnContent.= &#39;<table width="100%" border="0" cellpadding="0" cellspacing="0">&#39;; 
$ReturnContent.= &#39;<tr>&#39;; 
$ReturnContent.= &#39;<td>&#39;; 
$ReturnContent.= &#39;<div style="position:absolute; width:0px; height:0px; z-index:1">&#39;; 
$ReturnContent.= &#39;<div style="position:absolute; left:0px; top:0px; width:&#39; . $Width . &#39;px; height:&#39; . $Height . &#39;px; z-index:2; filter:alpha(opacity=0)">&#39;; 
$ReturnContent.= &#39;<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">&#39;; 
$ReturnContent.= &#39;<tr>&#39;; 
$ReturnContent.= &#39;<td style="cursor:hand" onClick=window.open("&#39;. $Url . &#39;");> </td>&#39;; 
$ReturnContent.= &#39;</tr>&#39;; 
$ReturnContent.= &#39;</table>&#39;; 
$ReturnContent.= &#39;</div>&#39;; 
$ReturnContent.= &#39;</div>&#39;; 
$ReturnContent.= &#39;<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://www.php1.cn/">$ReturnContent.= &#39;<param name="movie" value="&#39;.$FileName.&#39;">&#39;; 
$ReturnContent.= &#39;<param name="quality" value="high">&#39;; 
$ReturnContent.= &#39;<param name="wmode" value="transparent">&#39;; 
$ReturnContent.= &#39;<embed src="&#39;.$FileName.&#39;" 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.php1.cn/">$ReturnContent.= &#39;</td>&#39;; 
$ReturnContent.= &#39;</tr>&#39;; 
$ReturnContent.= &#39;</table>&#39;; 
$ReturnContent.= &#39;</td>&#39;; 
$ReturnContent.= &#39;</tr>&#39;; 
$ReturnContent.= &#39;</table>&#39;; 
}else{ 
//图片广告 
$ReturnContent = &#39;<a target="_blank" href="http://www.php1.cn/">} 
//如果为调用JS方式 
if(self::$JS){ 
$ReturnContent = &#39;document.write("&#39;.addslashes($ReturnContent).&#39;");&#39;; 
} 
//重置默认值,这里还是采用单件模式 
self::$Id = 0; 
self::$Order = 0; 
self::$JS = 0; 
return $ReturnContent; 
} 
} 
?>


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:php 文章调用类代码Article suivant:Git 使用规范流程