正常运行时远程计数器php

时间:2012-05-18 16:57:55

标签: php counter ping uptime

我想要的是我对webdev的基本知识。

我正在寻找一种方法来开发一个php计数器来向我显示网络上有一台在线计算机的时间(因为他应该通过对我认为的那台机器的ping来解决)。

示例:

电脑1: 在线 - 02:45:02 h(仍在实时计算)

如果页面上有刷新,状态可能会变为:

电脑1: 离线 - 00:00:00 h(计算机已关闭)

当另一个刷新页面时,状态可能会变为:

电脑1: 在线 - 00:00:01 h(再次在线,开始新计数)

我已经有ping功能了。

额外:我可能需要在一种LOG中注册这些状态的变化,但我现在把它放到后台!

编辑:我在php中询问它,但它可以通过简单的方式完成,我正在听你的!我为一些英语错误而苦恼:)

我希望我也向我解释过!既然感谢你的关注。

2 个答案:

答案 0 :(得分:0)

如果您已经有ping功能正常工作,那么在我看来,您可以简单地设置一个cron作业来每分钟运行该脚本(例如),然后将ping函数的结果存储在数据库中(MySQL或者)。

然后,当您查看状态页面时,该页面将从数据库中获取所有计算机的最新记录,并显示它们是联机还是脱机。如果它们在线,您可以计算当前时间与当前会话中首次在线查看特定计算机的时间之间的差异,并显示该系统的正常运行时间。

当然,这假设您知道这些计算机运行的IP地址在联机时不会发生变化(虽然看起来可能不太可能,但您可能需要牢记这一点)。

答案 1 :(得分:0)

另一种选择是进行简单的ajax调用,根据用户的IP地址不断更新数据库记录。你可以让它每10秒或30秒运行一次或任何你喜欢的。您需要做的就是创建一个MySQL表,该表存储用户的IP,创建条目的日期时间,然后是最后记录的日期时间。每个ajax调用它检查是否有一行具有相同的IP和最后记录的日期时间(10秒或你设置的任何内容),如果是这样,只更新最后记录的日期时间,如果没有插入新行

在您的php页面上,您将检查在您的设置间隔内最后记录的日期时间的任何记录(例如10秒),如果是这样,您可以使用javascript / jquery时钟向您显示自此以来经过的时间创建记录的日期时间。

另一个更容易的选择就是简单地安装Google Analytics,他们有一个新的实时功能,您可以在其中实时查看您网站上的人员,他们正在查看的页面等等。