用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写的小东西
Dec 06 PHP
PHP加速 eAccelerator配置和使用指南
Jun 05 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
php中switch语句用法详解
Aug 17 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
Laravel中10个有用的用法小结
May 06 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
PHP使用QR Code生成二维码实例
Jul 07 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
提高网站信任度的技巧
2008/10/17 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
js打造数组转json函数
2015/01/14 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
python 性能提升的几种方法
2016/07/15 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
使用索引有什么好处
2016/07/27 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
开展批评与自我批评发言材料
2014/05/15 职场文书
护校行动方案
2014/05/31 职场文书
劳模先进事迹材料
2014/12/24 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Python基础详解之邮件处理
2021/04/28 Python
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers