2016-02-08 48 views
-1

我想知道是否有辦法確定在服務器上訪問過特定網頁的次數。如果可能的話,我想通過cPanel來做到這一點,因爲網站是在Wordpress中製作的,但是我從頭開始製作的頁面只是上傳到另一個目錄中。所以,我不能依賴插件(對嗎?),我不知道足夠的PHP或JavaScript與Web服務器通信並將其存儲在其上...確定網頁被訪問的次數

+3

設置Google Analytics帳戶。 – durbnpoisn

+2

是wordpress的這個頁面的一部分,或者它只是在已有的WP設置中填充的東西,但是在其他方面是獨立的?如果它只是一個獨立的頁面,爲什麼不'grep yourpage.php access_log | wc -l'? –

回答

1

您的服務器已經在執行此操作,它是稱爲日誌文件。如果您爲給定頁面grep它並計算日誌輸入的數量,您將擁有查看該頁面的訪問者數量。但是,這樣做效率低下,不能「與CPanel一起工作」。

接下來,你可以寫一個簡單的腳本插入一個條目到數據庫每次有人訪問該頁面。然後,您的答案可以通過您添加到CPanel的自定義PHP查詢。這更有效率,但會重新發明輪子。

但是,真正的答案是得到分析軟件。還有一些產品,希望能爲你做到這一點:

  • 谷歌Analytics(分析) - 這是谷歌的產品,收集許多不同類型的用戶信息,生成功能強大的報表,並自由地可在網上。它有將數據提供給谷歌的不利之處 - 所以如果你有一個隱私政策,你想特別呼籲你正在做的谷歌分析跟蹤。

  • Piwik - 您可以獲取雲託管或自己託管它。它是免費的開源軟件,可以完成Google Analytics的大部分功能。你會擁有你的數據,這些數據將駐留在你的服務器上,有一些小部件可以嵌入到頁面中,因此一些工作可以集成到CPanel中。這些報告看起來並不像谷歌分析那樣出色,但這可能是值得的。

1

如果您在PHP中使用include功能,你可以做一個統計PHP文件,包括它的所有網頁。

最簡單的方法是簡單地創建一個日誌文件。

使用file_put_contents您可以輕鬆地將數據附加到日誌文件,然後您可以通過您選擇的FTP下載或訪問。 (像的cPanel)

<?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