随机广告显示(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&amp;&amp;mysql)五
Oct 09 PHP
php xml实例 留言本
Mar 20 PHP
简单的php文件上传(实例)
Oct 27 PHP
php去除HTML标签实例
Nov 06 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
PHP 实现类似js中alert() 提示框
Mar 18 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP封装的完整分页类示例
Aug 21 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 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/02/18 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
js+css在交互上的应用
2010/07/18 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
轮播的简单实现方法
2016/07/28 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
js实现无缝轮播图
2020/03/09 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
大学生个人事迹材料
2014/01/21 职场文书
军训自我鉴定
2014/01/22 职场文书
家长对孩子评语
2014/01/30 职场文书
项目合作协议书范本
2014/04/16 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
Redis可视化客户端小结
2021/06/10 Redis