517天 Avin

自古表白多白表,从来情书难书情

分享几个不一样的随机图片输出方法

发布于 4个月前 / 274 次围观 / 0 条评论 / 代码 / Avin

如果你是要输出本地图片可以选择方法1和方法2

如果你是要输出外链图片的请选择方法3

博主个人比较推荐用第2种,这种方法可以自己寻找图片,不用你去重命名图片

效果演示 - 每刷新一次换一张图(调用方法2)

随机图片输出演示

方法一:

  1. 创建一个PHP文件,内容为下面代码
  2. 创建一个文件夹 命名:images
  3. 将图片导入并重命名从0开始,有多少张就改到多少个数
  4. 图片格式一定要统一,是jpg就全部jpg,是png就全部png
<?php
$b=rand(0,56); //多少张图片就改多少
$g='https://你的域名/图片位置/'.$b.'.jpg';
//随机图片
header("location:$g");
exit;
?>

 

方法二:

在同一个目录下:

  1. 创建一个PHP文件,内容为下面代码
  2. 创建一个文件夹 命名:images
  3. 不需要修改图片命名和格式,直接导入文件夹即可
  4. 此方法可以隐藏图片原路径
<?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)]));
?>

 

方法三:

在同一个目录下:

  1. 创建一个PHP文件,内容为下面代码
  2. 创建一个TXT文件 命名:img.txt
  3. 将你需要输出的图片链接导入,一行一条链接
<?php
//存有图片链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
default:
    die(header("Location: $pic"));
}
?>

效果演示 - 每刷新一次换一张图(调用方法1)

随机图片输出演示