想拥有一个专属的 “一言” 接口?访问链接就能随机返回名言、短句或自定义文本?这篇教程带你用 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 请求后插入)。

五、常见问题与解决方法

  1. 跨域报错 “Access-Control-Allow-Origin”:检查 $allowed_domains 是否添加了前端调用的域名,确保没有拼写错误。
  2. 返回 “参数错误”:确认 type 参数是否在 $type_map 中存在(如你没配置 joke,却用了 type=joke)。
  3. 返回 “文本库为空”:打开对应的 TXT 文件,检查是否有内容(注意不要只留空行)。

六、拓展建议

  • 增加更多文本库:可添加 “每日一句”“电影台词”“程序员语录” 等,丰富接口内容。
  • 定时更新文本:若有大量内容,可定期往 TXT 文件中追加新文本,无需修改代码。

按照以上步骤,你已经拥有了一个专属的一言 API 接口,可直接用于个人博客、网站或小程序,完全自定义,稳定又灵活!

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容