用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 相关文章推荐
加强版phplib的DB类
Mar 31 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
简单实现PHP留言板功能
Dec 21 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
php命令行写shell实例详解
Jul 19 PHP
tp5.1 框架join方法用法实例分析
May 26 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判断文章里是否有图片的简单方法
2014/07/26 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
javascript的BOM
2016/05/03 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
python基础教程之对象和类的实际运用
2014/08/29 Python
scrapy爬虫完整实例
2018/01/25 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
有关环保的标语
2014/06/13 职场文书
统计员岗位职责
2015/02/11 职场文书
史上最牛辞职信
2015/05/13 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server