用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 相关文章推荐
php生成EXCEL的东东
Oct 09 PHP
Apache中php.ini的设置方法
Feb 28 PHP
php调用nginx的mod_zip模块打包ZIP文件
Jun 11 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
PHP共享内存用法实例分析
Feb 12 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
PHP创建XML接口示例
Jul 04 PHP
PHP 99乘法表的几种实现代码
Oct 13 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获取程序执行的时间
2013/06/09 PHP
PHP版QQ互联OAuth示例代码分享
2015/07/05 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
OpenLayers3实现地图显示功能
2020/09/25 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
python reduce 函数使用详解
2017/12/05 Python
浅析python的优势和不足之处
2018/11/20 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
用Python读取几十万行文本数据
2018/12/24 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python验证码图片处理(二值化)
2019/11/01 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
应用化学专业职业生涯规划书
2014/01/22 职场文书
电大本科自我鉴定
2014/02/05 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
质量提升方案
2014/06/16 职场文书
学习雷锋标语
2014/06/25 职场文书
学校个人对照检查材料
2014/08/26 职场文书
装修活动策划方案
2014/08/27 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
交通安全月活动总结
2015/05/08 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Java 数组内置函数toArray详解
2021/06/28 Java/Android