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 相关文章推荐
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
php 文件上传系统手记
Oct 26 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
PHP 存储文本换行实现方法
Jan 05 PHP
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP学习笔记之session
May 06 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 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
深入PHP异步执行的详解
2013/06/03 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
python中退出多层循环的方法
2018/11/27 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
行政部主管岗位职责
2013/12/28 职场文书
聘用意向书范本
2014/04/01 职场文书
学校评语大全
2014/05/06 职场文书
保护地球的标语
2014/06/17 职场文书
管理人员岗位职责
2015/02/14 职场文书
TS 类型收窄教程示例详解
2022/09/23 Javascript