Banner程序


Posted in PHP onOctober 09, 2006

<?php  
/* banner.php
     这个PHP3的滚动程序是由 Anton Olsen ( aolsen@graphweb.com )设计的,你可以自由地修改和使用这个程序,并自由地传播它,如果你对它有了比较重要的修改,请你给作都写份E-Mail。

    在这个程序中,作者试图通过多种不同的方法来实现这个功能,但PHP中的图像函数不能显示动画的GIF图片格式及对这种格式的操作(如:fopen, fpassthru, 和 fclose)。作者通过了passthru方法来加以实现,虽然这并不是一种最好的方法,但它可以比别的方法更加快速地显示广告条。

在这个程序中,我们假设:
    1、你已经有了一个存放所有的广告图片的目录。
    2、所有的广告图片都是GIF格式的。
    3、所有的GIF图片都是以banner开头的。
    3、在这个目录中没有其它的除了广告图片的文件。

安装这个程序:
    1、把这个程序和所有的广告图片(*.GIF)放到一个目录中。
    2、把以下这段HTML代码放在你的WEB页面中:
     <a href="wherever.you.want.com">  
     <img src="http://www.yourserver.com/bannerdir/banner.phtml" alt="Random Banner Here" border=0>  
    </a>  

4/14/2000    Mouse Chen( litmouse@km169.net   )    Translate it to Chinese
*/  

/* random( $max integer )  
   返回一个从 0到 $max-1的随机数;  
*/  
function random( $max )  
{  
        $x = rand();  
        $y = getrandmax();  

        $r = $x / $y * ($max -1 );  

        $r = round( $r++ );  
        return $r;  
}  

/*读取目录,把所有的 “banner*”的文件读到一个数组中;*/  
$i = 0;  
$d   = dir( ".");  
while($entry=$d->read())  
        if (substr($entry,0,6) ==  "banner")  
                $array[$i++] = $entry;  
$d->close();  

/* 选取一个随机数 */  
$r = random( $i );  

/* 发送一个 no-cache 和 gif 类型的文件头,并且输出图片。*/  
Header(  "Pragma: no-cache" );  
Header(  "Expires: Monday 01-Jan-80 12:00:00 GMT" );  
Header(  "Content-type:  image/gif");  
passthru(  "cat $array[$r]" );  

?>         

PHP 相关文章推荐
第六节--访问属性和方法
Nov 16 PHP
PHP isset()与empty()的使用区别详解
Aug 29 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
下载文件的点击数回填
Oct 09 #PHP
PHP编程之高级技巧——利用Mysql函数
Oct 09 #PHP
动态生成gif格式的图像要注意?
Oct 09 #PHP
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 #PHP
利用递归把多维数组转为一维数组的函数
Oct 09 #PHP
如何在PHP中进行身份认证
Oct 09 #PHP
一个改进的UBB类
Oct 09 #PHP
You might like
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
Git命令之分支详解
2021/03/02 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python字符编码判断方法分析
2016/07/01 Python
python生成ppt的方法
2018/06/07 Python
分析python请求数据
2018/08/19 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
结构和类有什么异同
2012/07/16 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
保险专业求职信
2014/07/07 职场文书
护士求职自荐信范文
2015/03/04 职场文书
安全教育日主题班会
2015/08/13 职场文书