随机广告显示(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
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
php 设计模式之 工厂模式
Dec 19 PHP
PHPMyAdmin 快速配置方法
May 11 PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
php获取根域名方法汇总
Oct 28 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
PHP实现简易blog的制作
Oct 24 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHP经典实用正则表达式小结
May 04 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顺序查找和二分查找示例
2014/03/27 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
Javascript 圆角div的实现代码
2009/10/15 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
python实现web方式logview的方法
2015/08/10 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python调用staf自动化框架的方法
2018/12/26 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python selenium操作cookie的实现
2020/03/18 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
关键字final的用法
2013/10/02 面试题
物业管理求职自荐信
2013/09/25 职场文书
最新自我评价范文
2013/11/16 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
投诉信格式范文
2015/07/02 职场文书
汶川大地震感悟
2015/08/10 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
JavaScript 实现页面滚动动画
2021/04/24 Javascript
Python连续赋值需要注意的一些问题
2021/06/03 Python