用PHP实现的随机广告显示代码


Posted in PHP onJune 14, 2007

<?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://www.mi222.cn>  
<img src="http://www.mi222.cn/logo.gif" alt="米儿网络欢迎您!"> </a> 
################################ 
display=10 

<a href=http://www.mi222.cn/dh target=_blank> 
<img src="http://www.mi222.cn/dh/QQCF_Pic/logo.gif" width="120" height="60" alt="米儿网址导航,网站免费登陆" border="0"></a> 

调用<?php myads();?>即可

PHP 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
PHPUnit安装及使用示例
Oct 29 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
php并发加锁示例
Oct 17 PHP
php UNIX时间戳用法详解
Feb 16 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 PHP
PHP生成月历代码
Jun 14 #PHP
用PHP实现图象锐化代码
Jun 14 #PHP
PHP静态新闻列表自动生成代码
Jun 14 #PHP
discuz安全提问算法
Jun 06 #PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 #PHP
phpMyAdmin下载、安装和使用入门教程
May 31 #PHP
测试您的 PHP 水平的题目
May 30 #PHP
You might like
让的PHP代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
JavaScript 字符串连接性能优化
2008/12/20 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python/golang 删除链表中的元素
2020/09/14 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
销售行政专员职责
2014/01/03 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
2014年工商所工作总结
2014/12/09 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL