用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 相关文章推荐
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
php socket方式提交的post详解
Jul 19 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php无限分类使用concat如何实现
Nov 05 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
YII框架常用技巧总结
Apr 27 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
Oct 15 PHP
PHP的imageTtfText()函数深入详解
Mar 03 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
Python中的闭包总结
2014/09/18 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
.net C#面试题
2012/08/28 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
关于幼儿的自我评价
2013/12/18 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
电子商务专业求职信
2014/03/08 职场文书
应用数学专业求职信
2014/03/14 职场文书
银行贷款委托书范本
2014/10/11 职场文书
中秋节晚会开场白
2015/05/29 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python