Dedecms经验:如何预防广告被阻止之修改DEDECMS的广告显示文件地址

大家在运营Dedecms程序的时候,会设置一些小广告,因为广告是无孔不入的,在网站程序中会给大家带来一点不便,很多浏览器也会自动屏蔽一些网站自带的广告内容,为此很多站长们都很头疼这件事,为此无忧主机小编从技术那里索取了一段JS代码,屡试不爽哦,在这里就贡献给所有购买过咱们无忧PHP虚拟主机空间的用户们。 文件路径:./plus/ad_js.php,把该文件下载到本地进行修改替换,需要替换的代码如下:

<?php 
/** 
* 广告JS调用方式 
* 
* @version $Id: ad_js.php 1 20:30 2010年7月8日Z tianya $ 
* @package DedeCMS.Site 
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc. 
* @author 404668925@qq.com 
* @link http://www.zuola.net 
*/ 
if(isset($_GET['arcID'])) $aid = intval($_GET['arcID']); 
$arcID = $aid = (isset($_GET['aid']) && is_numeric($_GET['aid'])) ? intval
($_GET['aid']) : 0; 
if($aid==0) die(' Request Error! '); 
$cacheFile = '../data/cache/myad-'.$aid.'.htm'; 
if(file_exists($cacheFile) && filesize($cacheFile) > 100) 
{ 
echo file_get_contents($cacheFile); 
exit(); 
} 
require_once '../include/common.inc.php'; 
$row = $dsql->GetOne("SELECT * FROM `myad` WHERE aid='$aid' 
"); 
$adbody = ''; 
if($row['timeset']==0) 
{ 
$adbody = $row['normbody']; 
} else { 
$ntime = time(); 
if($ntime > $row['endtime'] || $ntime < $row['starttime']) 
{ 
$adbody = $row['expbody']; 
} else { 
$adbody = $row['normbody']; 
} 
} 
$adbody = str_replace('"', '\"',$adbody); 
$adbody = str_replace("\r", "\\r",$adbody); 
$adbody = str_replace("\n", "\\n",$adbody); 
$adbody = "<!--\r\ndocument.write(\"{$adbody}\");\r\n-->\r\n"; 
$fp = fopen($cacheFile, 'w'); 
fwrite($fp, $adbody); 
fclose($fp);
修改好以后,保存上传!这样操作就能防止广告调用被浏览器的广告屏蔽软件阻止了。