随机广告显示(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实现的简单压缩英文字符串的代码
Apr 24 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
GBK的页面输出JSON格式的php函数
Feb 16 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
PHP魔术方法的使用示例
Jun 23 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
php用wangeditor3实现图片上传功能
Aug 22 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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生成随机密码的三种方法小结
2010/09/04 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
vue-cli的eslint相关用法
2017/09/29 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
护理专业大学生自我推荐信
2014/01/25 职场文书
服务员岗位职责
2014/01/29 职场文书
春节联欢会策划方案
2014/05/16 职场文书
理想演讲稿范文
2014/05/21 职场文书
超越自我演讲稿
2014/05/21 职场文书
小学捐书活动总结
2014/07/05 职场文书
技术负责人岗位职责
2015/02/10 职场文书
详解JAVA的控制语句
2021/11/11 Java/Android