用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 相关文章推荐
PHP5中的this,self和parent关键字详解教程
Mar 19 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
php接口与接口引用的深入解析
Aug 09 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
php表单处理操作
Nov 16 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
3.从实例开始
2006/10/09 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
php微信开发之谷歌测距
2018/06/14 PHP
js加强的经典分页实例
2013/03/15 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
对python中return和print的一些理解
2017/08/18 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python文件及目录操作代码汇总
2020/07/08 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
上海奥佳笔试题面试题
2016/11/16 面试题
简述安装Slackware Linux系统的过程
2012/01/12 面试题
酒店个人培训自我鉴定
2013/12/11 职场文书
职业生涯规划设计步骤
2014/01/12 职场文书
家长会开场白和结束语
2015/05/29 职场文书
行政复议决定书
2015/06/24 职场文书
红与黑读书笔记
2015/06/29 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
解析Java中的static关键字
2021/06/14 Java/Android
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS