阐述标题
刚打开这个文章的你,可能会对这个 title 有点懵逼,简单介绍一下:
当你访问一个地址的时候,这个站点会随机从服务器向你返回一张图片
你应该懂了吧
正文
按照标题,我们需要先购买一台服务器
购买服务器
这里推荐使用雨云进行搭建
有备案选国内,没备案选国外
1 核心 1G 也能运行起来!即使配置不够,后续也可升级
自行选择心仪的服务器
操作系统推荐选择 ubuntu 22.04
安装宝塔面板
如果在本章节出现不知道如何操作的,可以前往教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台查看
宝塔面板(bt.cn) 简单好用的Linux/Windows服务器运维管理面板
购买服务器后,使用 SSH 工具连接到服务器,键入 bt.cn 上最新的安装宝塔面板的命令
为了防止你是迷惑用户,直接贴上URL:宝塔面板下载,免费全能的服务器运维软件
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
第一次需要按 Y 以确认安装
等待出现面板链接信息即代表安装成功
首次进入宝塔面板
如果在本章节出现不知道如何操作的,可以前往教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台查看
根据 ssh 窗口中提供的连接信息,在浏览器中访问,请注意 https 与 http 的区别
第一次访问需要同意许可条款
可以不选择绑定账号
需要安装 LNMP 环境,如果不小心手滑点掉了,也可以通过重新进入面板来安装
安装进度可见左上角面板 ip 旁边的小数字
如果你是重度深色用户,可通过以下方式将 bt 设置为深色模式
创建、编写网站
创建网站
点击宝塔左侧网站,PHP 项目,添加站点
域名就写 {server_ip}:{port},即服务器 ip + 自定义端口,当然如果你有域名也可以填写你的域名,但是需要在域名提供商创建一个 A 解析指向服务器 ip
根目录可以不管
确定即可
编写网站
点击你刚创建网站的 根目录 进入文件管理
然后创建一个文本文件
将其命名为 index.php
没有设计确定按钮,直接回车即可,不要再找确定按钮了
双击编辑他
键入以下代码
<?php
$img_array = glob("photos/*.{gif,jpg,png}",GLOB_BRACE);
$img = array_rand($img_array);
$dz = $img_array[$img];
header("Location:".$dz);
?>
如果你想知道代码的含义,可以看看:
<?php
// 使用 glob 函数搜索 photos 目录下的所有 gif、jpg、png 格式的图片文件
// GLOB_BRACE 参数允许使用花括号来匹配多种文件扩展名
$img_array = glob("photos/*.{gif,jpg,png}", GLOB_BRACE);
// 从图片数组中随机选择一个图片的索引键
// array_rand 函数返回随机数组元素的键名
$img = array_rand($img_array);
// 通过随机选择的键名获取对应的图片文件路径
// $img_array[$img] 就是随机选中的图片文件完整路径
$dz = $img_array[$img];
// 发送 HTTP 重定向头部,将用户浏览器跳转到随机选中的图片地址
// 这样用户就会直接看到随机选择的图片
header("Location:".$dz);
?>
然后 Ctrl+S 保存
上传图片文件
新建一个文件夹,命名为 photo,进入此文件夹,将你想要的图片上传,扩展名一定要是 gif jpg png 三者其中之一
你想的没错,直接把本地文件直接拖到文件管理器即可
如果文件数量过多,可本地压缩成 zip 文件后,上传到文件管理器,再解压即可
测试
打开浏览器,键入你之前输入的域名或 ip+port ,你会发现他成功加载了图片
如果你是迷惑用户,你可能会怀疑为什么我刷新,还是那张图片,我建议你看看你访问的 url 是什么
如果你是迷惑用户,你可能会想着该怎么办,再次强调,随机图片 API,你是通过 api 访问的,加载一次客户站点,只会加载一次图片 api 站点,不会加载很多次
如果你是迷惑用户,你可能会想如果我在一个页面中引用多次 iframe 怎么办,再次强调,你是通过 api 访问的,访问一次,获取一次
如果你是迷惑用户,建议询问 Deepseek
恭喜你,打败了全国 99% 的选手



