近期做个小开发需要用到随机图像。

直接上代码

方法一

<?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)]));
?>

方法二

<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>

方法三

<?
$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
/**********************************************
* 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]");
?>
最后修改:2020 年 12 月 11 日
如果觉得我的文章对你有用,请随意赞赏