background image

PHP 随机显示目录下的图片

用 JavaScript 写的话,程序流程应该是:建立一个图片数组->随机选择数组里其中一个
值->生成样式并写入 body 标签。
可是用 JS 做的话,有以下缺点:
1.万一浏览器禁用了 JS 的话就失效了,而且写代码是需要考虑兼容性。
2.维护比较麻烦,图片的位置都存放在数组里。
于是我提议用 PHP 处理,可是我和她对 PHP 都是半桶水的,一时之间也想不出怎么做。
今天时运高,看到一个 PHP 随机显示目录下图片的源码,学习一下,并分享之。

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

$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/>'

;

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

echo '<body style="backgroud-image:url("'

.

$img_folder

.

$image

.

'">'

;

</

body

>