PHP获取目录下的图片并随机显示的代码
2023-06-13 09:14:15 时间
当时想做一个随机更换背景图片的功能,用JavaScript写的话,程序流程应该是:建立一个图片数组->随机选择数组里其中一个值->生成样式并写入body标签。
可是用JS做的话,有以下缺点:
1.万一浏览器禁用了JS的话就失效了,而且写代码是需要考虑兼容性。
2.维护比较麻烦,图片的位置都存放在数组里。
于是我提议用PHP处理,可是我和她对PHP都是半桶水的,一时之间也想不出怎么做。今天时运高,看到一个PHP随机显示目录下图片的源码,学习一下,并分享之。
先看看原理:从一个目录里获取某类型文件的清单(用在WEB的话一般是jpg/gif/png)->通过随机函数选一个图片->输出代码。
PHP代码如下:
复制代码代码如下:
可是用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"<imgsrc="".$img_folder.$image.""border="0/"alt=""/>";
如果要通过这个函数变换页面背景的话,可以把最后一句改为:
echo"<bodystyle="background-image:".$img_folder.$image.">";</body>
并用整段程序替换<body>标签。
如果需要多次调用此程序的话,可以写成一个函数,各位按需要改写。
总结
用PHP的方法来输出随机图片的好处是:
1.维护简单,只需要控制目录里图片的数量。
2.可以自定义文件类型,只要你有需要,改成随机输出一个Flash也行的
3.可以自定义输出结果,换句话说,用在什么地方都行了
4.改写成函数后功能更强大
相关文章
- 微信授权网页扫码登录php,PHP实现微信开放平台扫码登录源码
- php代码审计基础篇
- php getrealpath,PHP SplFileInfo getRealPath()用法及代码示例「建议收藏」
- MySQL在PHP中的灵活运用(php中的mysql)
- PHP如何使用Redis连接: 代码实例(php连接redis代码)
- 联合MySQL与PHP:双剑合璧(mysql与php)
- PHP轻松访问MySQL数据:使用简明易懂的方法获取数据(php获取mysql数据)
- PHP连接MySQL指南(php连mysql)
- php连接mssql数据库实现快速代码开发(php连接mssql代码)
- PHP连接MSSQL数据库的连接池优化(php mssql连接池)
- Linux下搭建PHP开发环境的一步步操作(linux配置php环境)
- PHP与MySQL实现三表关联操作(mysql三表关联pHP)
- 用PHP实现Ftp用户的在线管理的代码
- php获取本机外网/公网IP的代码
- php下将图片以二进制存入mysql数据库中并显示的实现代码
- 批量修改RAR文件注释的php代码
- javascript,php获取函数参数对象的代码
- php获取后台Job管理的实现代码
- PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
- 基于Snoopy的PHP近似完美获取网站编码的代码
- php代码收集表单内容并写入文件的代码
- PHP获取用户的浏览器与操作系统信息的代码
- php动态实现表格跨行跨列实现代码
- 做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)