php广告加载类用法实例
php  /  管理员 发布于 7年前   194
本文实例讲述了php广告加载类的用法,非常实用。分享给大家供大家参考。具体方法如下: 该php广告加载类,支持异步与同步加载。需要使用Jquery实现。 ADLoader.class.php类文件如下: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 * @param String $config 广告配置 * @param String $jsclass js class文件路径 */ public static function setConfig($config=array(), $jsclass=''){ self::$_config = $config; self::$_jsclass = $jsclass; } /** 根据channel创建广告集合 * @param String $channel 栏目 */ private static function getAds($channel=''){ $AD_Config = self::$_config; if($AD_Config!=null){ self::$_ads = isset($AD_Config[$channel])? $AD_Config[$channel] : $AD_Config['default']; } } /** 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, ''); // 同步需要预先加载 if(!self::$_async){ foreach($ads as $ad){ array_push($html, '