效果演示
接口
如果你不想自己部署可以直接使用下方由TNT安全团队免费提供的api接口。
https:/dit/index.php
参数说明
参数 | 说明 |
---|---|
a | 动画 |
b | 漫画 |
c | 游戏 |
d | 文学 |
e | 原创 |
f | 来自网络 |
g | 其他 |
h | 影视 |
i | 诗词 |
j | 网易云 |
k | 哲学 |
l | 抖机灵 |
其他 | 作为动画类型处理 |
搭建
教程
第一步:创建一个名为dit的文件夹
第二步:然后在dit文件夹下在创建具体分类的文件(每个分类文件中存在对应类型的一言)
第三步:创建一个名为index.php文件,写入以下代码(这个文件就是api)
在dit文件夹下创建了a.txt、b.txt两个文件。假设a文件中放的都是动漫,b文件中放的都是漫画。
默认随机全部一言
随机动漫
随机漫画
地址/index.php
地址/index.php?type=all
地址/index.php?type=all
<?php
// 设置默认type参数为'all'
$type = isset($_GET['type']) ? $_GET['type'] : 'all';
// 定义文件路径数组,根据type参数选择文件
$files = [
'all' => ['dit/a.txt', 'dit/b.txt'],
'a' => ['dit/a.txt'],
'b' => ['dit/b.txt']
];
// 根据type参数选择文件列表
$selectedFiles = isset($files[$type]) ? $files[$type] : [];
// 检查是否选择了有效的文件
if (empty($selectedFiles)) {
die('无效参数');
}
// 初始化一个SplPriorityQueue来存储行,优先级用于随机访问
$lineQueue = new SplPriorityQueue();
// 遍历选定的文件,逐行读取内容
foreach ($selectedFiles as $file) {
if (file_exists($file)) {
$fileObject = new SplFileObject($file);
while (!$fileObject->eof()) {
$line = $fileObject->fgets(); // 读取一行,包括换行符(如果需要可以去掉)
$line = trim($line); // 去除行首行尾的空白字符,包括换行符
if (!empty($line)) { // 忽略空行
$lineQueue->insert($line, rand());
}
}
}
}
// 如果没有读取到任何内容,则输出错误信息并退出
if ($lineQueue->isEmpty()) {
die('没有任何内容');
}
// 正确的随机选择方法(替换上面的SplPriorityQueue部分)
$allLines = [];
foreach ($selectedFiles as $file) {
if (file_exists($file)) {
$fileObject = new SplFileObject($file);
while (!$fileObject->eof()) {
$line = trim($fileObject->fgets());
if (!empty($line)) {
$allLines[] = $line;
}
}
}
}
// 随机选择一条内容
if (!empty($allLines)) {
$randomIndex = array_rand($allLines);
$randomLine = $allLines[$randomIndex];
echo $randomLine;
} else {
die('没有任何内容');
}
?>
资源获取
资源获取:6w条一言
若链接错误或失效,请在下方留言告知!
此处内容作者设置了 回复 可见
评论 (0)