从一个目录里获取某类型文件的清单(用在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连接ACCESS PHP采集程序中常用的函数 PHP随机产生指定长度中文字符串 SMTP类 url地址参数加密 一些常用验证函数 下拉-...
实例254 遍历、删除指定目录下的所有文件 330 第5章 会话应用 333 5.1 COOKIE 334 实例255 控制登录用户的过期时间 334 实例256 自动登录 335 实例257 单击登录 336 实例258 统计用户在线时间 339 实例259 限制用户...
在本压缩包“PHP实例开发源码—图片预览上传并成生成缩略图组件 php版.zip”中,包含了一个基于PHP实现的图片预览、上传及生成缩略图的功能组件。这个组件对于Web开发中的图像处理部分尤其有用,能够帮助开发者在...
实例254 遍历、删除指定目录下的所有文件 330 第5章 会话应用 333 5.1 COOKIE 334 实例255 控制登录用户的过期时间 334 实例256 自动登录 335 实例257 单击登录 336 实例258 统计用户在线时间 339 实例259 限制用户...
根据给定的PHP实例代码,我们可以深入探讨一系列与PHP编程相关的关键知识点,这些代码片段涵盖了随机字符串生成、电子邮件地址编码、电子邮件验证以及目录文件列表功能,下面将对这些功能进行详细解析。 ### 随机可...
- 文件类型检查:使用`$_FILES['file']['type']`获取文件类型,只允许特定类型的图片文件上传,如jpg、png、gif等。 - 防止路径遍历攻击:确保上传路径的安全性,避免用户通过文件名输入改变到服务器上的其他目录...
实例124 创建并输出数组 155 实例125 统计数组元素个数 156 实例126 向数组中添加元素 156 实例127 将数组中指定索引位置的元素替换 157 实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例...
实例221 当鼠标经过图片时显示图片 344 实例222 改变图片获取焦点时的状态 345 实例223 抖动的图片 346 实例224 鼠标移动放大图片 347 8.3 图片与时间相关操作 349 实例225 定时隐藏图片 349 实例226 根据时间变换...
【PHP实例开发源码—乱搜图片爬虫采集】是一个基于PHP编程语言的项目,旨在实现网络图片的抓取和采集。在这个项目中,开发者利用PHP的网络爬虫技术,针对特定目标网站进行图片资源的搜索和下载。下面将详细阐述PHP在...
在这个项目中,开发者可以上传图片到服务器,并获取到这些图片的链接,以便在其他地方嵌入或引用。以下是关于这个实例开发的一些关键知识点: 1. **PHP基础**:PHP是一种广泛使用的服务器端脚本语言,尤其适用于Web...
在PHP编程中,文件上传是常见的功能之一,用于让用户上传图片、文档等文件到服务器。本实例"PHP实例开发源码—115 Php自动上传类.zip"提供了一个自动化的PHP文件上传类,旨在简化这一过程,提高代码的可复用性和可...
【Ajax+PHP多图片上传】是一种常见的Web应用程序功能,它允许用户在不刷新整个页面的情况下,上传多张图片。这种技术结合了Ajax(异步JavaScript和XML)的无刷新特性与PHP的服务器端处理能力,提供了高效且用户体验...
2. **安装SDK**:将Parse PHP SDK集成到你的PHP项目中,通常可以通过Composer进行安装,或者直接下载SDK文件并引入到项目目录。 3. **初始化SDK**:在你的PHP脚本中,需要先调用初始化函数,传入你的应用ID和客户端...
本文实例讲述了php从文件夹随机读取文件的方法。分享给大家供大家参考。具体实现方法如下: function RandomFile($folder='', $extensions='.*'){ // fix path: $folder = trim($folder); $folder = ($...
由于名称看似随机,它可能是为了确保唯一性而生成的数字ID,或者是时间戳,代表文件或目录创建或修改的时间。在实际的PHP数据采集项目中,这样的命名可能对应着抓取任务的ID或者是抓取到的数据文件。 基于以上信息...
1. **数据接收**:当用户在CKEditor中选择图片并点击上传时,CKEditor会将图片文件以二进制流的形式通过HTTP POST请求发送到`upload.php`。PHP通过`$_FILES`全局变量来获取上传的文件信息。 2. **安全检查**:在...
【PHP实例开发源码-dede小清新淘客源码 php版.zip】是一个包含PHP源代码的压缩包,主要用于淘客网站的开发。淘客网站是一种帮助电商平台推广商品并获取佣金的平台,通常需要与电商平台API进行交互,展示商品信息,...
【标题】"PHP实例开发源码—Arefly WordPress主题.zip"揭示了这是一份包含PHP编程语言实际应用的资源,特别关注于WordPress主题的开发。WordPress是一个流行的开源内容管理系统(CMS),它主要使用PHP语言编写,用于...