随机广告显示(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写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
基于empty函数的判断详解
Jun 17 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
PHP简单日历实现方法
Jul 20 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
php写app用的框架整理
Sep 29 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 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中操作ini配置文件的方法
2013/04/25 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python中字符串的处理技巧分享
2016/09/17 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
会计职业生涯规划书
2014/01/13 职场文书
趣味比赛活动方案
2014/02/15 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
vue使用watch监听属性变化
2022/04/30 Vue.js