分享PHP 实现随机图像功能的几个方法

2019年6月30日18:28:35 发表评论 30 阅读

分享几个php实现的随机显示图片的函数,可以将指定文件夹中存放的图片随机地显示出来。77生活网的小伙伴们有兴趣的朋友研究下吧。

网上看了下PHP 随机图像实现的代码超级简单,短短四行就搞定了:

<?php
$img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE);
if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/images/ 文件夹');
header('Content-Type: image/png');
echo(file_get_contents($img_array[array_rand($img_array)]));
?>

PHP 实现随机图像功能方法二:

php通过rand()函数产生随机数,这个函数可以产生一个指定范围的数字,这段代码通过产生的随机数,随机选择图片。

<html>
<body>
<?php
 srand( microtime() * 1000000 );
 $num = rand( 1, 4 );
  
 switch( $num )
 {
 case 1: $image_file = "/home/images/alfa.jpg";
     break;
 case 2: $image_file = "/home/images/ferrari.jpg";
     break;
 case 3: $image_file = "/home/images/jaguar.jpg";
     break;
 case 4: $image_file = "/home/images/porsche.jpg";
     break;
 }
 echo "Random Image : <img src=$image_file />";
?>
</body>
</html>

PHP 实现随机图像功能三:

<?
$handle = opendir('./'); //当前目录
while (false !== ($file = readdir($handle))) { //遍历该php教程文件所在目录
list($filesname,$kzm)=explode(".",$file);//获取扩展名
if ($kzm=="gif" or $kzm=="jpg") { //文件过滤
if (!is_dir('./'.$file)) { //文件夹过滤
$array[]=$file;//把符合条件的文件名存入数组
}
}
}
$suiji=array_rand($array); //使用array_rand函数从数组中随机抽出一个单元
?>
<img src="<?=$array[$suiji]?>">

PHP 实现随机图像功能四:

<?php
/**********************************************
* Filename : img.php
* Author : freemouse
* Usage:
* <img src=img.php>
* <img src=img.php?folder=images2/>
***********************************************/
if($_GET['folder']){
$folder=$_GET['folder'];
}else{
$folder='/images/';
}
//存放图片文件的位置
$path = $_SERVER['DOCUMENT_ROOT']."/".$folder;
$files=array();
if ($handle=opendir("$path")) {
while(false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(substr($file,-3)=='gif' || substr($file,-3)=='jpg') $files[count($files)] = $file;
}
}
}
closedir($handle);
$random=rand(0,count($files)-1);
if(substr($files[$random],-3)=='gif') header("Content-type: image/gif");
elseif(substr($files[$random],-3)=='jpg') header("Content-type: image/jpeg");
readfile("$path/$files[$random]");
?>

以上的代码会查找 images 目录下的所有图片,并随机挑选出一张显示出来。如果一时找不到好的图片素材,可以去本站福利图片找找看看哦。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 你领一次红包多一份动力
  • 支付宝搜索7503319领取
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: