当前位置:首页 > PHP实例:用PHP程序实现随机广告图片显示

PHP实例:用PHP程序实现随机广告图片显示

点击次数:1304  更新日期:2011-01-03
\n

<?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<lines;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<lines;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);
}
?>


\n

广告代码文件ads.txt


\n

########每个广告代码之间用’#\'隔开,display为显示加权数,越大显示次数越多######
display=10
<a href=”广告1连接地址”>
<img src=”/images/banner/webjxcomad1.gif” alt=”广告1″> </a>
################################
display=10
<a href=”广告2连接地址” target=_blank>
<img src=”/images/banner/webjxcomad2.gif” width=”468″ height=”60″ alt=”广告2″ border=”0″></a>


\n

调用<?php myads();?>即可

\n