随机广告显示(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 相关文章推荐
php socket方式提交的post详解
Jul 19 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
php通过function_exists检测函数是否存在的方法
Mar 18 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
ThinkPHP控制器详解
Jul 27 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
php下过滤HTML代码的函数
2007/12/10 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python struct.unpack
2008/09/06 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
py-charm延长试用期限实例
2019/12/22 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
解决c++调用python中文乱码问题
2020/07/29 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
程序员岗位职责
2013/11/11 职场文书
优乐美广告词
2014/03/14 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Python matplotlib绘制雷达图
2022/04/13 Python