我有几个问题。我在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/