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
>