我有几个问题。我在Joomla内工作。我正在尝试使用此php代码将Referrer写入Referer.txt,但在joomla的任何地方都找不到“ 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);
}
?>


但是,分期页面不会在Firebug中引发任何错误。

老板希望记录特定页面的引荐来源(我正在使用该特定页面作为测试。它不是目标页面)。

我的问题是:


如果上面的代码没有失败,那么joomla系统中的Referer.txt可能在哪里?
还有另一种方法吗?例如,此页面http://www.webvanta.com/post/248869-using-referrer-urls-to-better-understand建议使用javascript构建cookie来跟踪引荐来源网址,而该站点http://webdesign.about.com/cs/loganalysistools/a/aaloganalysis.htm建议使用Web日志和日志分析工具。


做这个的最好方式是什么?

最佳答案

第一行$referer = get_en("HTTP_REFERER");使用的是get_en(),但是内置函数是getenv()

访问当前用户的引荐来源网址的另一种方法是通过$_SERVER['HTTP_REFERRER'];参数-尽管根据文档,这与使用getenv()相同。

跟踪引荐来源网址的服务器端方法是解析Apache创建的access_log文件。这些日志将为您提供请求日期,请求类型(GET,POST等),文件,查询字符串,IP,UserAgent以及许多其他信息部分。

关于referer.txt文件的存储位置,应使用绝对路径打开它。您可以使用$fp=fopen($_SERVER['DOCUMENT_ROOT'] . '/referer.txt', 'a');,或设置自定义路径,例如$fp=fopen("/tmp/referer.txt", 'a');

关于php - 试图将HTTP_REFERER写入Referer.txt,但无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11765072/

10-11 17:34