用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函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
使用php计算排列组合的方法
Nov 13 PHP
PHP IE中下载附件问题解决方法
Jan 07 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
两款万能的php分页类
Nov 12 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
Feb 18 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
php获取微信openid方法总结
Oct 10 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获取数组中键值最大数组项的索引值
2015/03/17 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
关于js datetime的那点事
2011/11/15 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
JavaScript类的写法
2016/09/17 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python实现通讯录功能
2018/02/22 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
小学生开学感言
2014/02/28 职场文书
欢迎领导检查标语
2014/06/27 职场文书
财务会计专业自荐书
2014/06/30 职场文书
建筑安全生产责任书
2014/07/22 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android