当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP教程:PHP随机显示目录下图片的源码

PHP
PHP学习中遇到的问题,请高手帮忙 - PHPchina
如何获取IIS虚拟目录的绝对路径 - PHPchina
常常说的SQL注入是怎么做的? - PHPchina
怎么对网站的Alexa排名的数据的采集? - PHPchina
遇到一个session丢失的问题。打开含有mediaplayer播放器的页面,会导致session丢失 -
做小偷遇到一个基础问题.请指教 - PHPchina
php5如何连接ACCESS 2003 - PHPchina
帮找下错误 - PHPchina
split 函数的一个问题 - PHPchina
一个全站系统的数据库设计问题,望大家都来帮帮忙 - PHPchina
分享我的PHP配置心得包含MYSQL5乱码解决 - PHPchina
深入浅出分析Linux设备驱动程序中断 (1)(3)
深入浅出分析Linux设备驱动程序中断 (1)(2)
深入浅出分析Linux设备驱动程序中断 (1)
OpenSSH可实现一次性自动管理多台服务器
如何利用程序循环来控制Perl脚本流程
PHP5应用笔记之Cookie实用攻略(上)
从失败中涉取经验 网站设计的十种常见错误
连载1:利用PHP创建由Oracle 驱动的SOAP服务
连载2:利用PHP创建由Oracle 驱动的SOAP服务

PHP教程:PHP随机显示目录下图片的源码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 189 ::
收藏到网摘: n/a

用JavaScript写的话,程序流程应该是:建立一个图片数组->随机选择数组里其中一个值->生成样式并写入body标签

可是用JS做的话,有以下缺点:

1.万一浏览器禁用了JS的话就失效了,而且写代码是需要考虑兼容性。

2.维护比较麻烦,图片的位置都存放在数组里。

于是我提议用PHP处理,可是我和她对PHP都是半桶水的,一时之间也想不出怎么做。今天时运高,看到一个PHP随机显示目录下图片的源码,学习一下,并分享之。

正文

先看看原理:从一个目录里获取某类型文件的清单(用在WEB的话一般是jpg/gif/png)->通过随机函数选一个图片->输出代码

PHP代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 $imglist='';
//用$img_folder变量保存图片所在目录,必须用“/”结尾
$img_folder = "images/tutorials/";
 
mt_srand((double)microtime()*1000);
 
//使用目录类
$imgs = dir($img_folder);
 
//检查目录下是否有图片,并生成一个清单
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
 
} closedir($imgs->handle);
 
//把清单里的项都放到一个数组里
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
 
//生成一个介于0和图片数量之间的随机数
$random = mt_rand(0, $no);
$image = $imglist[$random];
 
//输出结果
echo '<img src="'.$img_folder.$image.'" border=0/>';

如果要通过这个函数变换页面背景的话,可以把最后一句改为:

1
2
echo '<body style="backgroud-image:url("'.$img_folder.$image.'">';
</body>

并用整段程序替换标签。

如果需要多次调用此程序的话,可以写成一个函数,各位按需要改写。

总结

用PHP的方法来输出随机图片的好处是:

1.维护简单,只需要控制目录里图片的数量。

2.可以自定义文件类型,只要你有需要,改成随机输出一个Flash也行的

3.可以自定义输出结果,换句话说,用在什么地方都行了

4.改写成函数后功能更强大