0

我想要的是超出我对 webdev 的基本知识的一点。

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

例子:

计算机 1:在线 - 02:45:02 h(仍在实时递增计数)

给定页面上的刷新,状态可能会更改为:

计算机 1:离线 - 00:00:00 h(可能计算机已关闭)

作为另一个刷新页面,状态可能会更改为:

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

我已经有一个 ping 功能在工作。

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

编辑:我在 php 中询问它,但它可以以一种简单的方式完成,我在听你的!我对一些英语错误感到抱歉:)

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

4

2 回答 2

0

如果你已经有一个 ping 函数工作,那么在我看来你可以简单地设置一个 cron 作业来每分钟运行一次该脚本(例如),然后将你的 ping 函数的结果存储在数据库中(MySQL 左右) .

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

当然,这假设您知道这些计算机运行的 IP 地址在它们在线时不会更改(尽管这看起来不太可能,但您可能需要记住这一点)。

于 2012-05-18T17:14:38.037 回答
0

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

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

另一个更容易的选择是简单地安装谷歌分析,他们有一个新的实时功能,你可以实时看到谁在你的网站上,他们正在看什么页面等等......

于 2012-05-18T17:36:24.700 回答