如何实现Python发送消息至PHP并保存到log.html文件
如何用PHP接收Python发送的GET请求并保存内容到log.html?
首先确认下你的Python代码是通过GET请求把消息以m参数的形式发送到receive.php,对吧?那对应的PHP代码其实很直观,主要做三件事:获取请求参数、处理内容、追加写入到log.html。
先贴一下你的Python发送代码方便对照:
URL = 'https://example.com/' import requests,json def log(m): message = {'m': str(m)} r = requests.get(URL+'receive.php', params=message) return r.text log ('Hello World')
接下来是receive.php的实现代码:
<?php // 先检查是否接收到了名为m的GET参数 if (isset($_GET['m'])) { // 转义消息里的特殊字符,避免HTML注入或者破坏log.html的格式 $cleanMessage = htmlspecialchars($_GET['m'], ENT_QUOTES); // 添加时间戳,让日志更清晰 $currentTime = date('Y-m-d H:i:s'); // 组装日志内容,用<br>换行适配HTML格式,也可以用\n然后在HTML里加<pre>标签 $logEntry = "[$currentTime] $cleanMessage<br>\n"; // 追加写入到log.html,LOCK_EX能避免多请求同时写入时的内容混乱 $writeResult = file_put_contents('log.html', $logEntry, FILE_APPEND | LOCK_EX); // 给Python端返回响应,方便确认是否成功 if ($writeResult !== false) { echo "Log saved successfully!"; } else { echo "Failed to save log!"; } } else { // 如果没有收到m参数,返回提示 echo "No message parameter found!"; } ?>
几个需要注意的点:
- 文件权限:确保web服务器进程(如Apache、Nginx)拥有
log.html的写入权限。可以手动创建空的log.html,并设置权限为664(根据服务器配置调整)。 - 安全防护:使用
htmlspecialchars转义特殊字符,避免恶意输入(如含<script>标签的内容)破坏HTML结构或注入代码。 - 日志格式:如果需要纯文本日志,可将
<br>替换为\n,并把文件名改为log.txt,适配纯文本阅读。
内容的提问来源于stack exchange,提问作者john doe
相关产品推荐
相关产品推荐

