随机广告显示(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 相关文章推荐
一个程序下载的管理程序(一)
Oct 09 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
PHP Reflection API详解
May 12 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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
php不用正则采集速度探究总结
2008/03/24 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
python 实用工具状态机transitions
2020/11/21 Python
中专毕业生自我鉴定范文
2013/11/09 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
个性发展自我评价
2014/02/11 职场文书
红色旅游心得体会
2014/09/03 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
校车司机安全责任书
2015/05/11 职场文书
运动会新闻报道稿
2015/07/22 职场文书
学校财务管理制度
2015/08/04 职场文书
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis