随机广告显示(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中将汉字转换成拼音的函数代码
Sep 08 PHP
php变量作用域的深入解析
Jun 03 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 PHP
php7连接MySQL实现简易查询程序的方法
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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
小程序云开发实战小结
2018/10/25 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
python实现zabbix发送短信脚本
2018/09/17 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
中式婚礼主持词
2014/03/13 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
先进工作者申报材料
2014/12/23 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
自荐信格式范文
2015/03/04 职场文书
匿名信格式范文
2015/05/27 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
电影复兴之路观后感
2015/06/02 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis
Python读取和写入Excel数据
2022/04/20 Python