PHP如何接收动态数据保存并实时显示到网页上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何接收动态数据保存并实时显示到网页上?相关的知识,希望对你有一定的参考价值。
<?php
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,'116。236。128。220', 14580);
// Write some test data to our socket
if(!socket_write($socket, "user NoCall pass -1 vers test 1.0 filter b/B* \r\n"))
echo("<p>Write failed</p>");
// Read any response from the socket
while($buffer = socket_read($socket, 64, PHP_NORMAL_READ))
echo json_encode($buffer); //转换为json数据输出
echo("<p>Done Reading from Socket</p>");
?>
上面的代码是连接服务器登录的,登录后服务器会不停的发送数据过来,请问如何接收服务器发过来的数据并保存到数据或文件中,并实时在网页显示出来,就是有数据来就显示有数据来就显示
头部加上超时控制,但对于很多服务器无效,因为服务器输出超时很多在服务器控制,所以建议用cmd脚本方式运行此程序:
<?phpset_time_limit(0); //禁用脚本超时
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,'116。236。128。220', 14580);
// Write some test data to our socket
if(!socket_write($socket, "user NoCall pass -1 vers test 1.0 filter b/B* \\r\\n"))
echo("<p>Write failed</p>");
if(!file_exists('socket_log.html'))
file_put_contents('socket_log.html', '<script>
var xx = setInterval(function() //每5秒刷新一次页面
window.location.reload();
, 5000);
</script>');
// Read any response from the socket
while($buffer = socket_read($socket, 64, PHP_NORMAL_READ))
echo json_encode($buffer); //转换为json数据输出
//记入文件
file_put_contents('socket_log.html', json_encode($buffer), FILE_APPEND);
echo("<p>Done Reading from Socket</p>");
使用方法:用命令行方式运行此脚本
php script.php脚本会一直运行到接收数据结束,并持续将收到的数据写入socket_log.html文件。
在浏览器打开socket_log.html页面,此页面会自动每5秒刷新一次,来显示最新的数据。
确保程序有权限创建及写入socket_log.html文件
如果用CMD方式运行,能给出代码么?
如果要写入数据库怎样处理呢?一行一个数据。
谢谢
以windows下CLI运行php脚本为例:
找到你的php.exe的路径,比如我的是"D:\\Winginx\\php5\\php.exe";
打开控制台(开始——运行——cmd)
在控制台上黏贴或输入php.exe的路径+空格+php脚本文件的路径,比如
D:\\Winginx\\php5\\php.exe D:\\PhpScript\\test.php回车即可。注意有脚本内有中文输出时,脚本要保存为GBK\\GB2312编码,不然在cmd下会乱码。
至于数据库读写数据,你百度一下“PHP mysql”或者“PHP SQLite”即可,教程有很多,我就不粘贴了。
参考技术A 利用ajax发送请求,返回json数组,然后动态创建以上是关于PHP如何接收动态数据保存并实时显示到网页上?的主要内容,如果未能解决你的问题,请参考以下文章