PHP 获取目录下的图片并随机显示的代码

2015-01-24信息快讯网

从一个目录里获取某类型文件的清单(用在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 "; 
} 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.改写成函数后功能更强大
使用php shell命令合并图片的代码
php whois查询API制作方法
PHP字符编码问题之GB2312 VS UTF-8解决方法
PHP读取网页文件内容的实现代码(fopen,curl等)
php中获取指定IP的物理地址的代码(正则表达式)
PHP获取文件绝对路径的代码(上一级目录)
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
rrmdir php中递归删除目录及目录下的文件
php 随机排序广告的实现代码
php 生成文字png图片的代码
php产生随机数的两种方法实例代码 输出随机IP
PHP随机数生成代码与使用实例分析
PHP用GD库生成高质量的缩略图片
php批量缩放图片的代码[ini参数控制]
PHP统计目录下的文件总数及代码行数(去除注释及空行)
php生成随机密码的几种方法
PHP目录函数实现创建、读取目录教程实例
php循环检测目录是否存在并创建(循环创建目录)
zen cart新进商品的随机排序修改方法
php 多线程上下文中安全写文件实现代码
phpMyAdmin链接MySql错误 个人解决方案
php 需要掌握的东西 不做浮躁的人
php 文章采集正则代码
PHP array_push 数组函数
PHP simple_html_dom.php+正则 采集文章代码
php遍历目录viewDir函数
php5 图片验证码实现代码
php下图片文字混合水印与缩略图实现代码
Ajax+PHP边学边练 之五 图片处理
PHP CKEditor 上传图片实现代码
php 显示指定路径下的图片
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
PHP n个不重复的随机数生成代码
PHP获取当前文件所在目录 getcwd()函数
php 随机生成10位字符代码
php 删除无限级目录与文件代码共享
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
php生成随机数或者字符串的代码
使用PHP批量生成随机用户名
©2014-2024 dbsqp.com