php实现一言功能

随机一言

通过 php 与文件读取实现的随机一言功能,这种小玩意我们就不用数据库啦!

准备

首先我们准备一个 txt 文件,用于后续读取。

  • 例如
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
人闲桂花落,夜静春山空。
不如意事常八九,可与言者无二三。
人间有味是清欢
君不见高堂明镜悲白发,朝如青丝暮成雪。
南朝四百八十寺,多少楼台烟雨中。
玲珑骰子安红豆,入骨相思知不知。
枯藤老树昏鸦,小桥流水人家,古道西风瘦马。夕阳西下,断肠人在天涯。
苟利国家生死以,岂因祸福避趋之。
人生自古谁无死,留取丹心照汗青。
我自横刀向天笑,去留肝胆两昆仑。
朱门酒肉臭,路有冻死骨。
星垂平野阔,月涌大江流。
十年生死两茫茫,不思量,自难忘。
桃李春风一杯酒,江湖夜雨十年灯。
飞雪连天射白鹿,笑书神侠倚碧鸳。
从此山水不相逢,莫道彼此长和短。
江南无所有,聊赠一枝春。
茕茕白兔,东走西顾,衣不如新,人不如故。
...

源代码

将准备的 txt 文件与以下 php 代码放到我们的服务器上,就可以拥有自己的随机一言啦,至于如何使用就看自己的需求咯!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// 设置一下跨域
$origin = filter_input(INPUT_SERVER, 'HTTP_ORIGIN') ?? '';
$allow_origin = array(
'http://网址',
'https://网址',
);
if (in_array($origin, $allow_origin)) {
header('Access-Control-Allow-Origin: ' . $origin);
}
// 如果需要允许其他所有域名访问:header("Access-Control-Allow-Origin: *");

// 设置响应 methods 类型
header('Access-Control-Allow-Methods: GET');
// 设置 content-type
header('Content-Type: text/plain; charset=UTF-8');

// 随机从我们准备的 txt 文本文件中读取一行出来
$file = "./lib/words.txt"; // 我们的 txt 文件位置
// 判断文件是否存在
$saying = "守夜日志"; // 默认输出
if (file_exists($file)) {
$data = file($file); // 将文件存放在一个数组中
$rand = array_rand($data); // 随机取一条
$saying = $data[$rand];
}
echo chop($saying); // 返回数据,并去除空格。