想拥有一个专属的 “一言” 接口?访问链接就能随机返回名言、短句或自定义文本?这篇教程带你用 PHP 从零实现,无需数据库,轻量化部署,新手也能轻松上手。
一、什么是 “自定义一言 API”?
“一言 API” 是指通过 URL 请求,随机返回一条预设文本的接口,常见于博客签名、网站欢迎语等场景。
我们要做的自定义版本,不仅能自由添加文本内容,还支持按分类调用(如 “励志句”“夸夸语”“诗词”),同时兼容 JSON 和纯文本输出,方便前端直接使用。
功能介绍
- 🎨 自由扩展内容分类,随机返回不同类型的文本内容
 - ⚡ 支持JSON和纯文本两种返回格式
 - 🚀自带跨域支持,方便前端调用
 - 🔒 有完善的错误处理和安全性检查
 
二、准备工作:3 分钟搞定前置条件
无需复杂环境,只要你有一个能运行 PHP 的服务器(虚拟主机、云服务器均可),按以下步骤准备:
1. 创建文件目录结构
在网站根目录新建一个名为 yiyan 的文件夹,再在里面创建 data 子文件夹(用于存放文本内容),最终结构如下:
yiyan/          # 核心文件夹,可自定义名称
├─ data/        # 文本库目录
│  ├─ lizhi.txt # 励志句子库(自定义名称)
│  ├─ kuakua.txt# 夸夸语录库
│  └─ poetry.txt# 古诗词库
└─ api.php      # 核心逻辑文件,后续会写代码
2. 填充文本内容
在 data 目录下的每个 TXT 文件中,每行写一条文本,示例如下(以 lizhi.txt 为例):
所有的惊艳,都来自长久的准备;所有的幸运,都源于不懈的努力。
慢慢来,别着急,生活给你的惊喜,正在慢慢派送中。
你今天的坚持,会成为明天别人的仰望。
三、核心步骤:编写 API 代码(附完整源码)
api.php 是接口的 “大脑”,负责接收请求、读取文本、返回结果。直接复制以下代码,再做简单修改即可使用。
1. 完整 PHP 源码(可直接复制)
2. 关键配置修改(2 处必改)
打开 api.php,找到 “配置区域”,修改以下内容:
$allowed_domains:替换成你的网站域名(如你的站点是www.abc.com,就改成['www.abc.com', 'abc.com']),用于允许你的前端调用接口,避免跨域报错。$type_map:若你新增了文本库(如joke.txt),按格式添加一行'joke' => 'data/joke.txt',后续就能通过type=joke调用笑话内容。
四、接口调用方法:2 种格式,灵活使用
配置完成后,上传 yiyan 文件夹到服务器根目录,就能通过 URL 调用接口了,支持两种调用方式和两种返回格式。
1. 调用示例(以 “励志句” 为例)
假设你的服务器域名为 www.tianyubk.com,以下是具体调用 URL:
| 需求场景 | 调用 URL | 返回格式示例 | 
|---|---|---|
| JSON 格式(默认) | https://www.tianyubk.com/yiyan/api.php?type=lizhi | {"code":200,"type":"lizhi","text":"你今天的坚持...","length":18} | 
| 纯文本格式 | https://www.tianyubk.com/yiyan/api.php?type=lizhi&format=text | 你今天的坚持,会成为明天别人的仰望。 | 
| 路径参数调用 | https://www.tianyubk.com/yiyan/api.php/lizhi | 和第一种效果一致,适合更简洁的 URL 写法 | 
2. 调用技巧
- 切换文本库:只需修改 
type参数,如调用夸夸语就改type=kuakua,调用古诗词改type=poetry。 - 前端使用:JSON 格式可直接用 
fetch或axios请求,纯文本格式可直接嵌入 HTML(如<div id="yiyan"></div>,用 JS 请求后插入)。 
五、常见问题与解决方法
- 跨域报错 “Access-Control-Allow-Origin”:检查 
$allowed_domains是否添加了前端调用的域名,确保没有拼写错误。 - 返回 “参数错误”:确认 
type参数是否在$type_map中存在(如你没配置joke,却用了type=joke)。 - 返回 “文本库为空”:打开对应的 TXT 文件,检查是否有内容(注意不要只留空行)。
 
六、拓展建议
- 增加更多文本库:可添加 “每日一句”“电影台词”“程序员语录” 等,丰富接口内容。
 - 定时更新文本:若有大量内容,可定期往 TXT 文件中追加新文本,无需修改代码。
 
按照以上步骤,你已经拥有了一个专属的一言 API 接口,可直接用于个人博客、网站或小程序,完全自定义,稳定又灵活!
© 版权声明
THE END
    












暂无评论内容