判断网页被访问次数

Determine how many times webpage has been accessed

我想知道是否有一种方法可以确定特定网页在服务器上被访问了多少次。如果可能的话,我想通过 cPanel 来做到这一点,因为该网站是用 Wordpress 制作的,但我从头开始制作有问题的页面,只是将其上传到另一个目录中。所以,我不能依赖插件(对吗?)而且我对 PHP 或 JavaScript 的了解不足以与网络服务器通信并在其上存储该信息...

您的服务器已经这样做了,它被称为日志文件。如果您针对给定页面对其进行 grep 并计算日志条目的数量,您将获得查看该页面的访问者数量。然而,这是低效的并且不会 "work with CPanel".

接下来,您可以编写一个简单的脚本,以便在每次有人访问该页面时向数据库中插入一个条目。然后您的答案可以通过您添加到 CPanel 的自定义 PHP 查询。这样效率更高,但会重新发明轮子。

但是,真正的答案是获取分析软件。有许多产品可以为您做到这一点:

  • Google Analytics - 这是一个 Google 产品,可以收集大量不同类型的用户信息,生成强大的报告,并且可以在线免费获得。它的缺点是将该数据提供给 google - 因此,如果您有隐私政策,则需要特别指出您正在执行的 Google 分析跟踪。

  • Piwik - 您可以使用云托管,也可以自己托管。它是免费的开源软件,可以完成 Google Analytics 的大部分工作。您将拥有自己的数据,并且该数据将驻留在您的服务器上,有一些小部件可以嵌入到页面上,因此可以将一些工作集成到 CPanel 中。报告不像 Google Analytics 那样精美,但可能值得权衡。

如果您在 PHP 中使用 include 功能,您可以创建一个统计 PHP 文件并将其包含在您的所有页面中。

最简单的方法是简单地创建一个日志文件。

使用 file_put_contents 您可以轻松地将数据附加到日志文件,然后您可以下载或通过您选择的 FTP 访问。 (像控制面板)

<?php
session_start();
if(!isset($_SESSION['mySiteWasAccessed'])) {
    $_SESSION['mySiteWasAccessed'] = true;
    file_put_contents("my_log_file.txt", "My page was accessed", FILE_APPEND | LOCK_EX);
}
?>

上面的代码将在唯一用户第一次访问脚本时向 .TXT 文件写入一个新行。

现在您只需在站点的每个页面上包含一个包含此信息的 .PHP 文件。

有关文档、指针、示例和一般帮助,请参阅以下链接:

http://php.net/manual/en/function.file-put-contents.php

http://php.net/manual/en/function.include.php

如果你想进阶可以看看邮件功能的通知方式:

http://php.net/manual/en/function.mail.php