随机广告显示(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实现WEB动态网页静态
Oct 09 PHP
php5中类的学习
Mar 28 PHP
php将时间差转换为字符串提示
Sep 07 PHP
PHP仿盗链代码
Jun 03 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
PHP中实现crontab代码分享
Mar 26 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
详解PHP中的PDO类
2015/07/06 PHP
newxtree.js代码
2007/03/13 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
Python中is和==的区别详解
2018/11/15 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Python整数对象实现原理详解
2019/07/01 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
python实现飞机大战项目
2020/03/11 Python
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
应届护士求职信范文
2014/01/26 职场文书
团结演讲稿范文
2014/05/23 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书