用PHP实现的随机广告显示代码
#########随机广告显示##########
function myads(){
$dir="ads"; #设置存放记录的目录
//$dir="ads"; #设置存放记录的目录
$ads="$dir/ads.txt"; #设置广告代码文件
$log ="$dir/ads.log"; #设置ip记录文件
$ads_lines=file($ads);
$lines=count($ads_lines);#文件总行数
####读出广告总数$ads_count和显示次数到数组$display_array########
$ads_count=0;
$display_count=0;
for ($i=0;$i
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){
$ads_count+=1;
$display_array[$ads_count]=substr($ads_lines[$i],8);
$display_count+=$display_array[$ads_count];
}
}
####决定随机显示序号$display_rand#####
srand((double)microtime()*1000000);
$display_rand = rand(1,$display_count);
###决定广告序号$ads_num######
$pricount=0;
$ads_num=1;
for($i=1; $i<=$ads_count; $i++) {
$pricount += $display_array[$i];
if ($display_rand<=$pricount) {$ads_num=$i;break;}
}
#####播放广告代码#########
$num=0;
$flag=0;
for($i=0;$i
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){$num++;}
if(($num==$ads_num)and($flag==0)){$flag=1;continue;}
if(($flag==1)and strcmp($ads_lines[$i][0],"#")){echo $ads_lines[$i];continue;}
if(($flag==1)and(!(strcmp($ads_lines[$i][0],"#")))){break;}
}
####纪录广告显示次数#########
$fp=fopen($log,"a");
fputs($fp,date( "Y-m-d H:i:s " ).getenv("REMOTE_ADDR")."==>".$ads_num."\n");
fclose($fp);
}
?>
广告代码文件ads.txt
########每个广告代码之间用'#'隔开,display为显示加权数,越大显示次数越多################
################################
display=10

################################
display=10

调用<?php myads();?>即可相关阅读:
asp防范跨站点脚本攻击的的方法
发老兵及海洋VBS解包工具代码
ExtJS下grid的一些属性说明
js禁止小键盘输入数字功能代码
经验:VISTA系统常用软件分析
asp 采集程序常用函数分析
系统设置--mkkickstart
Oracle关于PL/SQL的SQL注入研究
Ajax 核心框架函数及例子
JDBC PL/SQL函数介绍
用CSS代码轻松Diy你的网页滚动条
CSS3教程:background-clip和background-origin
VBS教程:VBscript属性-HelpContext 属性
jQuery实现网页精美幻灯片特效的21个实例
这段PHP代码实现了从ads.txt文件中随机显示广告的功能。广告显示的权重由display后的数值决定,数值越大,显示概率越高。代码首先读取文件,统计各广告的显示次数,然后根据权重生成随机序号来决定显示哪个广告。最后,记录显示的广告序号到日志文件ads.log。
260

被折叠的 条评论
为什么被折叠?



