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


Posted in PHP onDecember 28, 2009

当时想做一个随机更换背景图片的功能,用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 相关文章推荐
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
php 文章采集正则代码
Dec 28 PHP
php下批量挂马和批量清马代码
Feb 27 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
May 08 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP7多线程搭建教程
Apr 21 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 #PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 #PHP
php 文章采集正则代码
Dec 28 #PHP
PHP array_push 数组函数
Dec 26 #PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 #PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 #PHP
php 常用类整理
Dec 23 #PHP
You might like
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
PHP学习笔记之二
2011/01/17 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
PHP实现事件机制的方法
2015/07/10 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
JavaScript中“+=”的应用
2007/02/02 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
Ionic快速安装教程
2016/06/03 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
python_mask_array的用法
2020/02/18 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
公益广告语集锦
2014/03/13 职场文书
特教教师先进事迹
2014/05/21 职场文书
本科毕业生自荐信
2014/06/02 职场文书
储备店长岗位职责
2015/04/14 职场文书
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript