PHP 获取目录下的图片并随机显示 实例

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

 

当时想做一个随机更换背景图片的功能,用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 "; // 脚本学堂 www.jbxue.com
} 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/" alt="" />'; 

 

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

echo '<body style="background-image:'.$img_folder.$image.'>';</body> 

 

并用整段程序替换<body>标签。 

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

总结 

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值