PHP随机显示目录下的图片
前言 在不久前,推特上,@doublechou(才女,大家follow之,博客)正在做主题(现在她暂时用iNove了)。她当时想做一个随机更换背景图片的功能,用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> 并用整段程序替换标签。 转自:http://blog.imbolo.com/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |