PHP新手上路(十)


Posted in PHP onOctober 09, 2006

建设一个简单交互的网站(六)

9. 简易banner动态更替  

不知大家有没有发现各大站点上的标头广告banner,我们每次访问这些站点时,都会看到不同的广告图标,或者如果你每次刷新页面时,这些广告banner就会不断地随机更替变换。要实现这种效果虽然用javascript也可以达到(象天极网站的动态变换广告banner就是通过调用javascript来实现的),但是如果我们用PHP的话,我们还可以结合数据库来做数据量很大,如每日一题之类的功能。费话少说,让我们立即来看看如何用PHP来实现banner的动态更替功能。  

简易banner动态更替PHP文件(banner.php3):
<?
//产生随机数
srand((double)microtime()*1000000);
//在0和4之间取一个数字
$randval = rand(0,5);
// 显示结果
echo "<a href=//gophp.heha.net/index.html><img alt=进入php的世界 border=0 src=$randval.gif></a>";
?>  

我们可以发现,实现的程序非常简单:主要是先利用srand这一初始化随机数产生器产生随机数,再调用rand函数在定义的有效范围内来获取其中一个随机值,最后显示$randval.gif各图片banner,即0.gif、1.gif、2.gif、3.gif或4.gif。为了便于大家理解,我将rand函数的语法及相关说明罗列如下:  
rand
语法:int rand([int min], [int max]);
返回值:整数
函数种类:数学运算
内容说明:本函数用来取得随机值。若没有指定随机数的最大及最小范围,本函数会自动地从0到RAND_MAX中取一个随机数。若有指定min及max的参数,则从指定参数中取一数字。例如rand(38,49)则会从38到49之间取得一个随机值。其中UNIX系统包含49,Win32系统不包含49。值得注意的是为了使随机数的随机率最大,每次在取随机数前最好使用srand()来设定新的随机数。在本例中在用srand()来产生新的随机数时加入了时间因素,执行时以百万分之一的随机率来产生随机数

9.1 我们更改head.inc文件以应用该简易banner动态更替功能,同时还得为不同的广告banner链接到它们对应的网址。

当然,首先我们必须先准备好用于更换交换的banner图标,同时也给我们的页面标头加上自己网站的徽标(01DC.gif)。

新的标头文件(header.inc):
<?
// 定义通用页面头部
?>
<HTML>
<HEAD>
<TITLE> <? echo "$MySiteName - $title"; ?> </TITLE>
<style type="text/css">
<!--
.text { font-family: "宋体"; font-size: 12pt; color: #006633; text-decoration: none}
-->
</style>
</HEAD>
<body topmargin=2>
<table width="100%" border="0">
<tr>
<td rowspan="3" width="19%"><img src="http://gophp.heha.net/test/images/01dc.gif" width="140" height="60"></td>
<td rowspan="3" width="29%">
<?
//取得乱数种子
srand((double)microtime()*1000000);
//在0和4之间取一个数字
$randval = rand(0,5);
// 显示结果
switch($randval)
{
case "0";
echo "<a href=//gophp.heha.net/index.html><img border=0 src=$randval.gif></a>";
break;
case "1";
echo "<a href=//personal.668.cc/haitang/index.htm><img border=0 src=$randval.gif></a>";
break;
case "2";
echo "<a href=//gophp.heha.net/index.html><img border=0 src=$randval.gif></a>";
break;
case "3";
echo "<a href=//gophp.heha.net/index.html><img border=0 src=$randval.gif></a>";
break;
case "4";
echo "<a href=//personal.668.cc/haitang/index.htm><img border=0 src=$randval.gif></a>";
break;
}
?>
</td>
<td width="52%">
<div align="center"><a href="../test/form.php3" class="text">自动发送邮件测试</a></div>
</td>
</tr>
<tr>
<td width="52%">
<div align="center"><a href="../test/php/php1.php3" class="text">简易轮回广告更替</a></div>
</td>
</tr>
<tr>
<td width="52%">
<div align="center"><a href="../password/password.php3" class="text">简易密码验证实例</a></div>
</td>
</tr>
</table>
<hr color="#ff9900" size="4">
</body>
</html>   

PHP 相关文章推荐
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 PHP
来自PHP.NET的入门教程
Oct 09 #PHP
PHP新手上路(九)
Oct 09 #PHP
PHP新手上路(二)
Oct 09 #PHP
PHP新手上路(三)
Oct 09 #PHP
PHP新手上路(四)
Oct 09 #PHP
PHP新手上路(五)
Oct 09 #PHP
PHP新手上路(六)
Oct 09 #PHP
You might like
wamp安装后自定义配置的方法
2014/08/23 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
javascript call和apply方法
2008/11/24 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
python读取文件名称生成list的方法
2018/04/27 Python
Flask之flask-script模块使用
2018/07/26 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
python selenium xpath定位操作
2020/09/01 Python
Python实现自动整理文件的脚本
2020/12/17 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
软件测试题目
2013/02/27 面试题
高中语文教学反思
2014/01/16 职场文书
物理教育专业求职信
2014/06/25 职场文书