php 记事本源代码_PHP简单实现一言 / 随机一句功能
首先准备一个代码编辑器,然后新建一个 php 文件,命名为 api.php,再新建一个文件,命名为 data.dat(两个文件均需采用 UTF-8 编码,否则会乱码)。
打开 data.dat,在里面贴入要随机显示出来的文本,一行一条。如果你暂时想不出什么比较好的句子的话,害羞我这儿准备了几十条古诗名句,可以直接复制使用:
往者不可谏,来着犹可追。——《论语·微子》
多行不义必自毙。——《左传》
敏而好学,不耻下问。——《论语·公冶长》
避其锐气,击其惰归。——《孙子兵法·军争》
十年树木,百年树人。——《管子·权修》
居安思危,思则有备,有备无患。——《左传》
天时不如地利,地利不如人和。——《孟子·公孙丑》
人谁无过?过而能改,善莫大焉。——《论语》
信言不美,美言不信。——老子
满招损,谦受益。——《尚书·大禹谟》
高岸为谷,深谷为陵。——《诗经·小雅》
天作孽,犹可违,自作孽,不可活。——《尚书》
言之无文,行而不远。——《左传》
三军可夺帅也,匹夫不可夺志也。——《论语·子罕》
天行健,君子以自强不息。——《周易·乾·象》
皮之不存,毛将焉附。——《左传》
路漫漫其修远兮,吾将上下而求索。——屈原《离骚》
长太息以掩涕兮,哀民生之多艰。——屈原《离骚》
人而无仪,不死何为。——《诗经·鄘风》
捐躯赴国难,视死忽如归。——曹植《白马篇》
天下之事常成于困约,而败于奢靡。——陆游
知之者不如好之者,好之者不如乐之者。——《论语·雍也》
志当存高远。——诸葛亮《诫外生书》
不去庆父,鲁难未已。——《左传》
老吾老,以及人之老;幼吾幼,以及人之幼。——《孟子·梁惠王下》
博学之,审问之,慎思之,明辨之,笃行之。——《中庸》
人非圣贤,孰能无过。——《训俗遗规》
亦余心之所善兮,虽九死其犹未悔。——《屈原·离骚》
若要功夫深,铁杵磨成针。——曹学《蜀中广记·上川南道彭山县》
少壮不努力,老大徒悲伤。——汉乐府古辞《长歌行》
穷则独善其身,达则兼济天下。——《孟子·尽心上》
仁者见仁,智者见智。——《易经·系辞上》
青,取之于蓝而青于蓝;冰,水为之而寒于水。——《荀子·劝学》
千羊之皮,不如一狐之腋。——《史记》
余将董道而不豫兮,固将重昏而终身。——《屈原·涉江》
高山仰止,景行行止。——《诗经·小雅·车辖》
锲而舍之,朽木不折;锲而不舍,金石可镂。——《荀子·劝学》
不傲才以骄人,不以宠而作威。——诸葛亮
尺有所短;寸有所长。物有所不足;智有所不明。——屈原《卜居》
言必信,行必果。——《论语·子路》
有志者事竟成。——《后汉书·耿列传》
其身正,不令而行;其身不正,虽令不从。——论语·子路
三人行,必有我师焉:择其善而从之,其不善者而改之。——《论语·述而》
非学无以广才,非志无以成学。——《三国·诸葛亮·诫子书》
绳锯木断,水滴石穿。——罗大经《鹤林玉露》
君子坦荡荡,小人长戚戚。——孔子
老当益壮,宁知白首之心;穷且益坚,不坠青云之志。——王勃
尺有所短,寸有所长。——《史记》
他山之石,可以攻玉。——《诗经·小雅·鹤鸣》
苟余心之端直兮,虽僻远其何伤?——《屈原·涉江》
人有不为也,而后可以有为。——《孟子·离娄下》
路漫漫其修远今,吾将上下而求索。——屈原
孔子登东山而小鲁,登泰山而小天下。——《孟子·尽心上》
积土而为山,积水而为海。——《荀子·儒效》
生于忧患,死于安乐。——《孟子·告子下》
知足不辱,知止不殆。——老子
桃李不言,下自成蹊。——《史记》
傲不可长,欲不可纵,乐不可极,志不可满。——魏徵
既来之,则安之。——《论语·季氏》
知己知彼,百战不殆。——《孙子兵法·谋攻》
真者,精诚之至也,不精不诚,不能动人。——《庄子·渔夫》
独学而无友,则孤陋而寡闻。——《礼记·杂记》
勿以恶小而为之,勿以善小而不为。惟贤惟德,能服于人。——刘备
将下列代码复制并粘贴到 api.php 中保存,你的专属“一言” API 就搭建完成了:
// 存储数据的文件
$filename = 'data.dat';
// 指定页面编码
header('Content-type: text/html; charset=utf-8');
if(!file_exists($filename)) {
die($filename . ' 数据文件不存在');
}
$data = array();
// 打开文档
$fh = fopen($filename, 'r');
// 逐行读取并存入数组中
while (!feof($fh)) {
$data[] = fgets($fh);
}
// 关闭文档
fclose($fh);
// 随机获取一行索引
$result = $data[array_rand($data)];
echo $result;
上面的代码是用 fopen + fgets 函数实现的,有些朋友似乎不是特别喜欢,觉得“效率低”。别急,这儿还有个 file_get_contents 函数实现的版本:
// 存储数据的文件
$filename = 'data.dat';
// 指定页面编码
header('Content-type: text/html; charset=utf-8');
if(!file_exists($filename)) {
die($filename . ' 数据文件不存在');
}
// 读取整个数据文件
$data = file_get_contents($filename);
// 按换行符分割成数组
$data = explode(PHP_EOL, $data);
// 随机获取一行索引
$result = $data[array_rand($data)];
// 去除多余的换行符(保险起见)
$result = str_replace(array("\r","\n","\r\n"), '', $result);
echo $result;
上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个 api,该如何实现呢?
很简单,将最后那一行的 echo $result; 换成
echo 'document.write("'.htmlspecialchars($result).'");';
然后在需要的位置用引入 js 的方式进行调用即可。
示例代码:
php 记事本源代码_PHP简单实现一言 / 随机一句功能相关推荐
- php采集一言代码_PHP简单实现一言 / 随机一句功能
很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api.其实,使用万能的php能用短短的几行代码就实现该功能! 将下列代码复制并粘贴到 api.php 中保存,你的专属"一言&quo ...
- PHP简单实现一言 / 随机一句功能
很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api.其实,使用万能的php能用短短的几行代码就实现该功能! 将下列代码复制并粘贴到 api.php 中保存,你的专属"一言&quo ...
- php采集一言代码_用PHP制作api源码简单实现一言 / 随机一句功能
很多人都喜欢在自己的网站页面中加个一言,不过一般都是调用的第三方api.其实,使用phpfile_get_contents 函数就能通过短短的几行代码就实现该功能! 准备工作 首先准备一个代码编辑器, ...
- php 记事本源代码_php实现记事本案例
本文实例为大家分享了php实现记事本的具体代码,供大家参考,具体内容如下 记事本案例 要求:1)页面上有一个文本域(textarea元素),和一个发表按钮 2)用户在文本域中输入内容后,点击发表按钮, ...
- php 记事本源代码_php 日历记事本 以及数据库
[实例简介] php 版记事本,日历形式,可以翻页,可以查询,本人已经和ci框架完美结合. [实例截图] [核心代码] fullcalendar_opt └── fullcalendar_opt ├─ ...
- html网页随机一言,PHP简单实现一言 / 随机语录功能
教程开始: 1.首先新建一个php文件,命名为api.php(这里小牛云站长推荐用notepad++编辑代码) 2.再新建一个文件,命名为data.dat(两个文件均需采用UTF-8 编码,否则会乱码 ...
- java记事本写玫瑰花代码_Java记事本源代码(完整)
<Java记事本源代码(完整)>由会员分享,可在线阅读,更多相关<Java记事本源代码(完整)(13页珍藏版)>请在人人文库网上搜索. 1.* 作品:记事本* 作者:* 功能: ...
- 用java做一个简单记事本_用记事本写一个简单的java程序
用记事本写一个简单的java程序 第一步: 安装好jdk,并设置好环境变量. 桌面-计算机(右键)-属性-高级系统设置-环境变量-path-在变量值后加上:和jdk安装路径加上(路径即为C:\Prog ...
- java 记事本源代码_JAVA记事本源代码 收藏
JAVA记事本源代码 import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; impor ...
最新文章
- SpringBoot升级到2.3.x后返回message为空
- sql 2012中获取表的信息,包含字段的描述
- 嵌入式处理器 cisc risc_RISC-V能否“重构”芯片产业格局
- 一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...
- 4款bt search
- WIN7系统一个盘分多个盘的方法
- 在Ubuntu系统中给应用创建快捷方式
- win10 桌面背景最短切换时间由1分钟改为10秒
- Thinkpadt450 win7下面禁用触摸板
- mac上如何提取图片上的文字?几款不错的OCR文字识别工具推荐
- 拓扑量子计算机有缺点,一个荷兰硕士生的新模型有助于描述量子计算机中的缺陷和错误...
- 今天上班穿了一只拖鞋和一只凉鞋
- android大作业报告总结,android大作业总结报告.doc
- JavaWeb中 pojo、entity、Dao、bo的含义
- 免密登录驾考网使用selenium自动爬取模拟试题
- 扫宽、分辨率和扫描时间
- Windows11设置共享打印机
- CSAPP第八、九章家庭作业(原书第二版)
- NVl和NVL2的语法使用详解
- 微信小程序子组件向父组件传值的两个方法