大佬教程收集整理的这篇文章主要介绍了php广告加载类用法实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了PHP广告加载类的用法,非常实用。分享给大家供大家参考。具体方法如下:
该PHP广告加载类,支持异步与同步加载。需要使用Jquery实现。
PHP;">class ADLoader{ // class start
private static $_ads = array(); // 广告集合
private static $_step = 300; // 广告加载间隔
private static $_async = true; // 是否异步加载
private static $_config = array(); // 广告设置文件
private static $_jsclass = null; // 广告JS class/** 加载广告集合
@param String $channel 栏目,对应config文件
@param int $step 广告加载间隔
@param boolean $async 是否异步加载
*/
public static function load($channel='',$step='',$async=''){
if(isset($step) && is_numeric($step) && $step>0){
self::$_step = $step;
}
if(isset($async) && is_bool($async)){
self::$_async = $async;
}
// 判断浏览器,如IE强制使用同步加载
if(!self::checkBrowser()){
self::$_async = false;
}
self::getAds($channel);
self::genZoneId();
return self::genHtml();
}
/** 设置config
/* zonEID base64_encode 处理 /
private static function genZonEID(){
// 同步加载广告不需要处理zonEID
if(!self::$_asynC){
return ;
}
$ads = self::$_ads;
for($i=0,$len=count($ads); $i<$len; $i++){
if(isset($ads[$i]['zonEID'])){
$ads[$i]['zonEID'] = base64_encode('var zonEID='.$ads[$i]['zonEID'].';');
}
}
self::$_ads = $ads;
}
/* 生成广告html /
private static function genHtml(){
$ads = self::$_ads;
$html = array();
if(self::$_jsclass!=null && $ads){
array_push($html,'<script type="text/javascript" src="'.self::$_jsclass.'">');
// 同步需要预先加载
if(!self::$_asynC){
foreach($ads as $ad){
array_push($html,'<div id="'.$ad['domId'].'_container" style="display:none">');
array_push($html,'<script type="text/javascript">');
array_push($html,'ADLoader.preload('.json_encode($ad).');');
array_push($html,'</script>');
array_push($html,'</div>');
}
}
array_push($html,'<script type="text/javascript">');
array_push($html,'var ads='.json_encode($ads).';');
array_push($html,'$(document).ready(function(){ ADLoader.load(ads,'.self::$_step.','.intval(self::$_asynC).'); });');
array_push($html,'</script>');
}
return implode("\r\n",$html);
}
/* 判断是否需要强制同步加载的浏览器 /
private static function checkBrowser(){
$user_agent = $_SERVER['http_user_ageNT'];
if(strstr($user_agent,'MSIE')!=''){
return false;
}
return true;
}
} // class end
?>
以上是大佬教程为你收集整理的php广告加载类用法实例全部内容,希望文章能够帮你解决php广告加载类用法实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。