fwrite ($fp, "$HTTP_USER_AGENT");
Hier schreibst Du stets den Text $HTTP_USER_AGENT und nicht den Variableninhalt:
Nein, PHP ersetzt auch in Zeichenketten Variablennamen, die obige Zeile funktioniert also durchaus wie gewünscht. Das ändert allerdings nichts daran, daß es vielleicht nicht ganz unklug ist, Variablen trotzdem nicht in die Zeichenkette zu schreiben, sondern immer mit . aneinander zu reihen.
fwrite ($fp, $HTTP_USER_AGENT);
Falls die Ausgabe angehaengt werden soll, oeffne die Datei mit "a" (append).
Falls die Datei automatisch erzeugt werden soll, falls sie noch nicht existiert, hänge noch ein + an: "a+" (siehe http://www.php.net/manual/de/function.fopen.php).
Weiterhin fehlt in dem Code eine Fehlerabfrage sowie in der fwrite()-Zeile ein \n am Ende, damit die Einträge jeweils in der nächsten Zeile beginnen.
$fp=fopen($datei,"a+");
if (! $fp)
{
die("Fehler beim Öffnen der Datei");
}
else
{
fwrite($fp,$HTTP_USER_AGENT."\n"); // PHP >= 4.1: $_SERVER["HTTP_USER_AGENT"]
fclose($fp);
};
Gruß,
soenk.e