很多人都喜欢在自己的网站页面中加个一言,不过一般都是调用的第三方api。其实,使用phpfile_get_contents 函数就能通过短短的几行代码就实现该功能!

准备工作

首先准备一个代码编辑器,然后新建一个php文件,命名为api.php,再新建一个文件,命名为 data.dat(两个文件均需采用 UTF-8 编码,否则会乱码)。

打开 data.dat,在里面贴入要随机显示出来的文本,一行一条。如果你暂时想不出什么比较好的句子的话,这儿准备了几十条古诗名句,可以直接下载备用。

代码

将下列代码复制并粘贴到 api.php 中保存,你的专属“一言” API 就搭建完成了!超简单是不是……<?php

// 存储数据的文件

$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 'document.write("'.htmlspecialchars($result).'");';

?>

如何在静态页面中引用

上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个 api,该如何实现呢?

示例代码:

打赏

支付宝支付

您的大名:

1 元

5 元

10 元

20 元

50 元

100 元

万水千山总是情,给个打赏行不行。

打赏

php采集一言代码_用PHP制作api源码简单实现一言 / 随机一句功能相关推荐

  1. 别踩白块java程序代码_别踩白块源码

    [实例简介] 经典游戏别踩白块源码,自己DIY 嘚瑟一下自己的小伙伴吧 ! [实例截图] [核心代码] OGEngine_bcbkym └── OGEngineDeom_block ├── Andro ...

  2. atlas单机模式代码_游戏日报:3DS源码遭泄露,COD吃鸡更新经典模式,重装机兵再跳票...

    每天一篇游戏资讯汇总,为你带来最新鲜,最劲爆的游戏资讯.足不出户看尽圈内大事小事,成为游戏圈中的"百事通".新的一年所长会继续努力把优质的内容带给大家! 游戏·主机|任天堂3DS系 ...

  3. 微信读书vscode插件_跟我一起读源码 – 如何阅读开源代码

    阅读是最好的老师 在学习和提升编程技术的时候,通过阅读高质量的源码,来学习专家写的高质量的代码,是一种非常有效的提升自我的方式.程序员群体是一群乐于分享的群体,因此在互联网上有大量的高质量开源项目,阅 ...

  4. 一言 源码 android,[源码]纯净的一言API

    大佬们做得挺高级的,逛逛博客,总能发现有意思的东西:一言大家都听说过吧,最有名的第三方一言那就要数LWL大佬的一言-纯净API(写完才发现有一个-,不管他了).看来小幻的文章我就有一个收集一言的想法, ...

  5. 64 源码_【ClickHouse内核】源码阅读策略

    " 摘要: 本文主要讲述如何阅读ClickHouse开源数据库代码的一些方式和技巧.主要内容如下: ClickHouse开源库简介 搭建运行环境 针对于ClickHouse库提出问题 阅读开 ...

  6. 基于低代码平台的疫情管理系统,源码交付更放心

    编者按:信息化疫情管理更方便更高校,而源码交付的软件让用户更放心.本文分析了软件源码交付的重要意义,并介绍了源码交付的疫情防控流调系统. 概要: 源码交付的意义 源码交付的疫情管理系统 源码交付的意义 ...

  7. php采集一言代码_【PHP】简单的一言API源码

    Loading... **前言:** 通过调用文本任一一行的句子,实现简单的一言api,无后台返回数据,只需把文字写到api.txt中供其调用. **源码:** ```php //获取句子文件的绝对路 ...

  8. php采集一言代码_PHP简单实现一言 / 随机一句功能

    很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api.其实,使用万能的php能用短短的几行代码就实现该功能! 将下列代码复制并粘贴到 api.php 中保存,你的专属"一言&quo ...

  9. 【毕业设计_课程设计】基于网络爬虫的新闻采集和订阅系统的设计与实现(源码+论文)

    文章目录 0 项目说明 1 项目说明 2 系统需求 3 系统架构 4 效果展示 5 论文目录 6 项目工程 0 项目说明 基于网络爬虫的新闻采集和订阅系统的设计与实现 提示:适合用于课程设计或毕业设计 ...

最新文章

  1. 信息系统项目管理师-知识、变更、战略管理核心知识点思维脑图
  2. 文件权限及chmod使用方法
  3. 如何在Linux下安装PyCharm
  4. SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用
  5. 【PHP学习】—PHP的基本数据类型(二)
  6. winform + INotifyPropertyChanged + IDataErrorInfo + ErrorProvider实现自动验证功能
  7. 关于AJAX的安全性
  8. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(5)签到题4题
  9. oracle监听怎么关闭,Oracle数据库启动监听、关闭
  10. 如何搞定纸上代码环节?
  11. html 画 斜线表头,HTML 斜线 表头
  12. 京东颜色html,京东m.jd站点静态页实现(首页)H5
  13. 浅析气排球技、战术特点
  14. 羽毛球击球技术四大基本环节解码
  15. cocos2d 高德地图_高德地图SDK使用经验
  16. 牛客网数据库SQL实战25—— 获取员工其当前的薪水比其manager当前薪水还高的相关信息
  17. [agc004e]Salvage Robots
  18. [Mysql] 创建和操纵数据表
  19. java设计模式之Facade模式
  20. 神经网络训练电脑配置,cpu可以训练神经网络吗

热门文章

  1. java界面怎么加图片不显示不出来_Java登录界面中添加背景图片,程序无错,但加载不了图片,求帮忙...
  2. Android开发新手常见的10个误区
  3. NIO(一)——缓冲区Buffer
  4. OpenGL第六节:加载png图片
  5. 刷题总结——Human Gene Functions(hdu1080)
  6. 在linux中,boot与uboot有什么区别?
  7. (安卓)一键锁屏 ---亲测!
  8. 鼠标经过(hover)事件的延时处理
  9. [LeetCode] Merge Sorted Array
  10. windows平台下在Cygwin中运行Nutch1。2的抓取命令提示JAVA_HOME not set解决方案