查看: 6279|回复: 0

PHP随机显示目录下的图片

[复制链接]
发表于 2009-12-6 19:56:57 | 显示全部楼层 |阅读模式
台州网址导航
用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/>';

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

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

并用整段程序替换标签。

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

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

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

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

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

4.改写成函数后功能更强大
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表