2012-08-01 36 views
0

我有幾個問題。我在Joomla內工作。我想利用這個PHP代碼寫的引薦referer.txt,但我無法找到「referer.txt」在任何地方的Joomla:試圖將HTTP_REFERER寫入referer.txt,但它不起作用

<?php 
$referer = get_en("HTTP_REFERER"); 
if($referer){ 
$fp=fopen("referer.txt","a")||die("Could not open referer file!"); 
fwrite($fp,$referer); 
fclose($fp); 
} 
?> 

上分期中的頁面不螢火引發任何錯誤,但是。

老闆想要一個引用到特定頁面的記錄(我正在使用這個特定頁面作爲測試,它不是目標頁面)。

我的問題是:

  1. 如果上面的代碼沒有失敗,其中的挫折感可能referer.txt是一個Joomla系統?

  2. 有沒有另一種方法呢?例如,此頁面http://www.webvanta.com/post/248869-using-referrer-urls-to-better-understand建議使用javascript構建cookie來跟蹤引用鏈接,並且此網站http://webdesign.about.com/cs/loganalysistools/a/aaloganalysis.htm建議使用網絡日誌和日誌分析工具。

這樣做的最好方法是什麼?

+2

get_en(「HTTP_REFERER」)是不是'get_env(「HTTP_REFERER」)'? – Tchoupi 2012-08-01 18:15:38

+0

您需要指定referer.txt的完整路徑 – PitaJ 2012-08-01 18:21:58

+0

Hi Mathieu,是的,它應該是get_env我的不好打字。 PitaJ謝謝,我會盡力設定完整路徑 – umbregachoong 2012-08-01 18:27:21

回答

2

第一行,$referer = get_en("HTTP_REFERER");使用get_en(),但內置的功能getenv()

訪問當前用戶的引用鏈接的另一種方法是通過$_SERVER['HTTP_REFERRER'];參數 - 儘管根據文檔,這與使用getenv()相同。

追蹤引用的服務器端方法是解析由Apache創建的access_log文件。這些日誌會爲您提供請求日期,請求類型(GET,POST等),文件,查詢字符串,IP,用戶代理以及其他大量信息部分。

關於referer.txt文件的存儲位置,應該使用絕對路徑將其打開。您可以使用$fp=fopen($_SERVER['DOCUMENT_ROOT'] . '/referer.txt', 'a');,或設置一個自定義路徑,如$fp=fopen("/tmp/referer.txt", 'a');

相關問題