# PHP实现api随机调用图片的教程

*Published:* 2024-11-04
*Author:* 飞翔001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年11月4日，已超过 180天没有更新



**第一种方法(以图片源文件进行随机)**

第一步：新建一个文件夹，命名为：img(这个文件里放你需要的图片)

第二步：新建一个index.php文件，写入以下代码 (这个文件就是api地址)

```
<?php
$img_array = glob("img/*.{webp,gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?>
```

```
<?php
    // 图片文件夹路径
    $imageFolder = 'image/';
    // 获取图片文件列表
    $imageFiles = scandir($imageFolder);
    // 过滤掉"."和".."目录
    $imageFiles = array_diff($imageFiles, array('..', '.'));
    // 随机选择一张图片
    $randomImage = $imageFiles[array_rand($imageFiles)];
    // 图片显示
    echo '<img src="' . $imageFolder . $randomImage . '" alt="随机图片">';
    ?>
```

**第二种方法(以图片链接进行随机)**

第一步：创建一个img.txt文件 (这个文件里放你的储存的图片链接，一行一条)

第二步：新建一个index.php文件，写入以下代码 (这个文件就是api地址)

```
<?php
//存有链接的文件名，这里是存放图片链接的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"));
}
```