在PHP中将HTTP_REFERER写入txt文件

时间:2014-03-31 15:27:30

标签: php http-referer

您能否建议我可以插入到网页的简单PHP脚本,它将跟踪和记录每个进入网页的用户的HTTP_REFERER? 非常感谢你提前帮助

3 个答案:

答案 0 :(得分:2)

使用$_SERVER['HTTP_REFERER']并不可靠。

但是,如果您仍想使用该路线,则可以使用以下内容。

这样做是使用三元运算符来检查是否设置了引用。

如果找到了引用者,那么它会将其记录到文件中,并使用a开关追加/添加它。否则,如果找不到或不可记录,它只会回显而不会写任何文件。

如果您不想继续添加到该文件,请使用w开关。

警告 - 使用w开关将覆盖以前编写的所有内容。

<?php
$refer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;

if(!empty($refer)){

    $fp = fopen('file.txt', 'a');
    fwrite($fp, "$refer" . "\n"); // Using \n makes a new line. \r\n Windows/MAC
    fclose($fp);
    echo "Referer found and written to file.";
}

else{
echo "No referer, nothing written to file.";
}

// Or use this to write "No referer" in the file as a replacement
/*
else{
    $fp = fopen('file.txt', 'a');
    fwrite($fp, "No referer" . "\n");
    fclose($fp);
    echo "No referer.";
}
*/

答案 1 :(得分:0)

这是一个非常简单的脚本,可以让你存档它:

$fp = fopen('myfile.txt', 'w');
fwrite($fp, $_SERVER['HTTP_REFERER']);
fclose($fp);

答案 2 :(得分:0)

将它记录在apache中可能是个更好的主意(如果那就是平台)。

关于日志文件: http://httpd.apache.org/docs/1.3/logs.html

然后使用一些指定的软件来分析日志。

这样做的原因是,构建自己的跟踪脚本比看起来要多得多,即使是在最简单的级别。如果它是可用的。

另一个想法是从第三方安装一些日志记录软件。我认为statcounter使用日志文件,可以为你提供你想要的东西。