构建自己的简单的网络日志接口
用途:手机上的脚本的日志可以存储到网络上 不限于一个手机 而是多个手机的日志都可以存储到网络上 供人查看
原理:从脚本处发送信息到网络日志接口 接口接收到了这个信息 根据当前的日期 生成一个log文件吧这个信息存储到该文件内部 当然如果这个log文件已存在就更好 然后 在网络日志查看网页上我们只需要把当天日期的这个log文件的内容都读出来显示在该网页上就完成了整体的操作
问题:
1.如果数据量过大 同时写入一个文件会有问题 因为没有使用mysql网络数据库 没法处理并发问题 但是平时的一些日志上重点关注的点的记录足够了
2.查看日志的代码 可以再多增加一些功能 比如增加综合查询 条件查询来查询出符合要求的日志 不过这不过都是一些字符串查找判断的小问题
3 没有考虑到安全性的问题 只要知道了这个网络日志接口地址 谁都可以发送信息到这里 正常说 应该有一个信息安全的判断 才允许写入到网络日志里面 不过 我们只是做一个简单的网络日志接口 就不高那么麻烦了
网页源码和安卓按键的源码下载地址
https://pan.baidu.com/s/131BT_Xmah2LmDidBzdol8A
网页日志接口代码
<?php define('CONST_SERVER_TIMEZONE', 'UTC'); //保证不会相差8小时 设置时区 error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE); //显示除去E_WARNING ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>日志接口</title> </head> <body> <?php //接收从脚本传递来的日志信息 判断当前的日期 把这个日志信息存储到当前日期命名的日志文件里 if (trim($_POST['log_str'])<>""){ $nowtimefilepath=date("y-m-d",time()).".log"; $send_str=date("y-m-d",time()); $send_str=date("Y-m-d H:i:s",time())."----".trim($_POST['log_str'])."\r\n"; echo file_put_contents($nowtimefilepath,$send_str,FILE_APPEND);//添加模式 不是覆盖 }else{ echo "<p>无数据</p>"; } ?> </body> </html>
普通网页日志查看页面的代码(当前我们也可以对这些日志进行筛选 比如提供一定的查询条件 比如查询1号手机的所有日志 查询前几天的日志信息 这些都不难实现 不过是一些简单的字符串匹配而已)
<?php define('CONST_SERVER_TIMEZONE', 'UTC'); //避免相差8小时 error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE); //显示除去E_WARNING ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>查看特殊log</title> <style type="text/css"> div {padding: 1px; border: 1px solid #ffcc00; background: #fffff7;margin:5px} p {padding: 1px; border: 1px solid #bbe1f1; background: #eefaff;margin:2px} </style> </head> <body> <?php $nowtimefilepath=date("y-m-d",time()).".log"; //获取今日日期 得到日志文件的路径 //今天的内容显示 读取出今日的日志文件的所有内容存储到数组里面 $lines = file($nowtimefilepath); echo "<h1>今日:".date("y-m-d",time())."</h1>"; foreach (array_reverse($lines) as $line) { $line = rtrim($line); echo "<p>".$line."</p>"; } //前一天时间的日志 date("Y-m-d",strtotime("-1 day")) $previoustimefilepath=date("Y-m-d",strtotime("-1 day")).".log"; $lines = file($previoustimefilepath); echo "<h1>昨日:".date("Y-m-d",strtotime("-1 day"))."</h1>"; foreach (array_reverse($lines) as $line) { $line = rtrim($line); echo "<p>".$line."</p>"; } ?> </body> </html>
安卓按键上的发送网络日志的函数和代码(下面的域名我没有写真实的 保护了)
/* 例子: Call 发送网络日志("找不到游戏主界面 无法完成注册操作") */ Function 发送网络日志(log_str) Dim t,tt,ttt,结果,是否完成操作,post数据 Dim 网络日志地址接口="http://XXX.XXX.XXX.com/script_log/log_interface.php" //构建要发送的内容 包含了当前手机的标识 执行到哪个账号 要发送的信息内容 组合成1个字符串 log_str="手机["&cstr(readuiconfig("手机id"))&"]-账号["&cstr(当前账号id)&"]-"&log_str post数据="log_str="&log_str// TracePrint url.post(网络日志地址接口,"log_str="&log_str)//以post方式发送 End Function
过渡页面的代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现