随机广告显示(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 相关文章推荐
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
php快速导入大量数据的实例方法
Sep 23 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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
Laravel框架路由设置与使用示例
2018/06/12 PHP
日期 时间js控件
2009/05/07 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
原生JS和jQuery版实现文件上传功能
2016/04/18 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
Python检测网站链接是否已存在
2016/04/07 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Python何时应该使用Lambda函数
2019/07/02 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
python 常见的排序算法实现汇总
2020/08/21 Python
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
护理专业大学生自我推荐信
2014/01/25 职场文书
办公室副主任职责范本
2014/03/08 职场文书
2014年端午节活动方案
2014/03/11 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
python中24小时制转换为12小时制的方法
2021/06/18 Python