随机广告显示(PHP函数)


Posted in PHP onOctober 09, 2006

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

广告代码文件ads.txt

########每个广告代码之间用'#'隔开,display为显示加权数,越大显示次数越多################
################################
display=10

<a href="http://china.chance2mail.com/cgi-bin/regstep1.cgi?myid=CC00099599">  
<img src="http://china.chance2mail.com/images/banner/c_banner.gif" alt="Chance2mail,好礼物送给您!"> </a>
################################
display=10

<a href="http://www.my8848.net/agtunion/agtredirect.asp?act=homepage&agtid=2986" target=_blank>
<img src="http://www.free868.com/~xinyi/ads/8848.gif" width="468" height="60" alt="欢迎到My8848网站购物" border="0"></a>

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

PHP 相关文章推荐
php生成随机数或者字符串的代码
Sep 05 PHP
PHP安全防范技巧分享
Nov 03 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
深入密码加salt原理的分析
Jun 06 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
php动态绑定变量的用法
Jun 16 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
php操作access数据库的方法详解
Feb 22 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
PHP中str_split()函数的用法讲解
Apr 11 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
PHP 和 MySQL 基础教程(二)
Oct 09 #PHP
最省空间的计数器
Oct 09 #PHP
域名查询代码公布
Oct 09 #PHP
无数据库的详细域名查询程序PHP版(3)
Oct 09 #PHP
浅谈PHP语法(1)
Oct 09 #PHP
PHP 和 MySQL 基础教程(一)
Oct 09 #PHP
用文本作数据处理
Oct 09 #PHP
You might like
adodb与adodb_lite之比较
2006/12/31 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
Python 中Pickle库的使用详解
2018/02/24 Python
基于python实现名片管理系统
2018/11/30 Python
matplotlib实现区域颜色填充
2019/03/18 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
Python如何合并多个字典或映射
2020/07/24 Python
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
单位成立周年感言
2014/01/26 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
大学生求职计划书
2014/04/30 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
恰同学少年观后感
2015/06/08 职场文书
捐书仪式主持词
2015/07/04 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python