随机广告显示(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 用数组降低程序的时间复杂度
Dec 04 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP学习记录之数组函数
Jun 01 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 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
在PHP中使用XML
2006/10/09 PHP
php 在线打包_支持子目录
2008/06/28 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
php HTML无刷新提交表单
2016/04/05 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
学习ExtJS border布局
2009/10/08 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python常用库推荐
2016/12/04 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python3.5安装python3-tk详解
2019/04/26 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
中专自我鉴定
2014/02/05 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
技能培训通讯稿
2015/07/18 职场文书
小学入学感言
2015/08/01 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
校运会班级霸气口号
2015/12/24 职场文书
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL