PHP不跳转随机图方法

PHP不跳转随机图API

搞了些美丽的图片,想整个随机图API做博客背景。网上面搜到的PHP随机图源码都是进行跳转链接的,找了好久没找到那种不跳转加载图片的随机图源码,于是我决定自己写一个玩玩。

代码编写目的

实现不跳转,通过刷新就能切换随机图片。

实现过程

  1. 新建一个目录 randown(这里随便起个名),开始写代码。
  2. randown 目录下新建一个文件夹 res,将美丽的图片放到里面。
  3. randown 目录下新建一个 index.php 文件,开始编写代码。

我们想要实现的功能是:通过刷新页面,不跳转展示随机的不同图片,图片来源于同级目录下的 res 文件夹中的图片。


关键代码实现

1. 使用 readfile() 函数实现不跳转展示图片

readfile() 函数输出一个文件。该函数读入一个文件并写入到输出缓冲。若成功,则返回从文件中读入的字节数。若失败,则返回 false。您可以通过 @readfile() 形式调用该函数,来隐藏错误信息。

2. 实现刷新展示不同的图片

  • 将图片重命名为 0.jpg1.jpg2.jpg 等形式。
  • 使用 rand() 函数生成图片序号范围内的随机数。
  • 使用路径 + {随机数的变量} 的方法自动生成不同随机图片的路径。
  • 使用 readfile(路径的变量) 来显示文件,不跳转。

注意:需增加一个标头:header('Content-Type: image/jpeg');

当然,你也可以搞个图片列表文件,然后随机返回里面的链接,代码得自行探索


完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// 获取 res 文件夹中的图片数量
$imageCount = 5; // 假设有 5 张图片,命名为 0.jpg 到 4.jpg

// 生成随机数
$randomNumber = rand(0, $imageCount - 1);

// 构建图片路径
$imagePath = "res/{$randomNumber}.jpg";

// 设置图片类型标头
header('Content-Type: image/jpeg');

// 输出图片
readfile($imagePath);
?>

鸣心/Write

PHP不跳转随机图方法
https://b.wihi.top/posts/73501ee2.html
作者
鸣心
发布于
2023年12月31日
许可协议
本站全部文章除在文章开头特别声明外,均采用:BY-NC许可协议。转载请标明出处!