`

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

    博客分类:
  • 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.改写成函数后功能更强大

分享到:
评论

相关推荐

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    php获取指定日期所在周的开始和结束日期 PHP读取文件前几个字节 判断文件类型函数 PHP连接ACCESS PHP采集程序中常用的函数 PHP随机产生指定长度中文字符串 SMTP类 url地址参数加密 一些常用验证函数 下拉-...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例254 遍历、删除指定目录下的所有文件 330 第5章 会话应用 333 5.1 COOKIE 334 实例255 控制登录用户的过期时间 334 实例256 自动登录 335 实例257 单击登录 336 实例258 统计用户在线时间 339 实例259 限制用户...

    PHP程序开发范例宝典III

    实例185 图片的分栏显示 291 7.2 PHP操纵SQL Server数据库 292 实例186 通过ADO方式连接SQL Server数据库 292 实例187 通过mssql_connect()函数连接SQL Server数据库 293 实例188 通过ADO方式实现指定时间...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例254 遍历、删除指定目录下的所有文件 330 第5章 会话应用 333 5.1 COOKIE 334 实例255 控制登录用户的过期时间 334 实例256 自动登录 335 实例257 单击登录 336 实例258 统计用户在线时间 339 实例259 限制用户...

    PHP开发实战1200例源码

    实例124 创建并输出数组 155 实例125 统计数组元素个数 156 实例126 向数组中添加元素 156 实例127 将数组中指定索引位置的元素替换 157 实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例...

    JavaScript网页特效范例宝典源码

    实例221 当鼠标经过图片时显示图片 344 实例222 改变图片获取焦点时的状态 345 实例223 抖动的图片 346 实例224 鼠标移动放大图片 347 8.3 图片与时间相关操作 349 实例225 定时隐藏图片 349 实例226 根据时间变换...

    php从文件夹随机读取文件的方法

    本文实例讲述了php从文件夹随机读取文件的方法。分享给大家供大家参考。具体实现方法如下: function RandomFile&#40;$folder='', $extensions='.*'&#41;{ // fix path: $folder = trim($folder); $folder = ($...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    PHP经典100例.

    PHP经典100例.,php教材实例,从基础到实践,由浅到深... 24:经典循环例子 25:for的高级运用 26:简单的函数 27:有返回值的函数 28:有默认参数的函数 29:判断整数 30:动态调用函数 31:一个简单的数组 32给数组增加...

    php网络开发完全手册

    15.4 使用PHP获取MySQL数据库的信息 255 15.4.1 获取数据库的信息 255 15.4.2 获取表的信息 256 15.4.3 获取列的数目 256 15.4.4 获取列的名称 257 15.4.5 获取列的数据类型 257 15.4.6 获取列的长度 257 15.4.7 ...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    EaglePHP框架1.9

    完全基于PHP5可用于开发WEB程序和服务,借鉴国外优秀框架的设计思路,分层的设计思想使独立开发成为可能,建立模型推动代码的重用,有助于促进快速软件开发(RAD)和创建更稳定的程序,节约了开发者的时间,并减少重复...

    MDPHP(麦迪php框架系统)

    getRandName 获取随机文件名 arrayCallBack 数组回调 jsonEncode json编码(支持GBK) jsonDecode json解码(支持GBK) setEncoding 将字符串设置为指定编码 unicodeEncode Unicode编码 unicodeDecode Unicode解码 getIP...

    网管教程 从入门到精通软件篇.txt

     bootcfg /scan 扫描用于 Windows 安装的所有磁盘并显示结果。  注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。...

Global site tag (gtag.js) - Google Analytics