Avatar billede skumbaq Nybegynder
22. november 2002 - 09:25 Der er 14 kommentarer og
1 løsning

Log fil

Hvordan skriver man til en log.txt fil fra PHP

Jeg vil gerne skrive en fil som skriver dem som besøger min webside

[dato] - [tid] - [ip]

nogle bud ?
Avatar billede technogirly Nybegynder
22. november 2002 - 09:31 #1
Der er mange muligheder... Se på www.rolator.dk
Avatar billede technogirly Nybegynder
22. november 2002 - 09:31 #2
det var et svar... :)
Avatar billede phpgris Nybegynder
22. november 2002 - 10:42 #3
Ja, eller www.google.com ikke? Tsk tsk.
Avatar billede avminarm Juniormester
22. november 2002 - 10:48 #4
noget ala:

$logfil="log.txt";

if ($REMOTE_ADDR == "") $ip = "ingen ip";
else $ip = getHostByAddr($REMOTE_ADDR);
$dato = date("d/m Y H:i:s");

$str = "$dato: (IP: $ip, Browser: $HTTP_USER_AGENT)\n";

$fp = fopen($logfil,  "r");
$arr = file($logfil);
$res = implode( "", $arr);
$res = "$str$res";
fclose($fp);

$fp = fopen($logfil,  "w");
fputs($fp, $res);
fclose($fp);
Avatar billede tipsen Nybegynder
22. november 2002 - 11:02 #5
Eller:

$dato = date('Y-m-d H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$ua = $_SERVER['HTTP_USER_AGENT']
$fp = fopen('log.txt',  'a+');
fputs($fp, $dato - $ip - $ua\r\n);
fclose($fp);
Avatar billede tipsen Nybegynder
22. november 2002 - 11:03 #6
mangler et ; i linien med $ua = ...
Avatar billede skumbaq Nybegynder
22. november 2002 - 11:32 #7
Det ser sørme fint ud !

Jeg prøve det af i aften :-)
Avatar billede avminarm Juniormester
22. november 2002 - 11:40 #8
jeg ved ikke hvordan du vil bruge log filen, men den jeg har lavet lægger den nyeste i toppen af tekst filen - bare til venlig orientering :-)
Avatar billede avminarm Juniormester
22. november 2002 - 11:40 #9
og hvis du har den nye php ver skal du som tipsen bruger bruge $_SERVER['REMOTE_ADDR'] og _SERVER['HTTP_USER_AGENT']
Avatar billede tipsen Nybegynder
22. november 2002 - 12:05 #10
avminarm:
1. Den måde log-filer normalt anvendes på betyder, at de bliver meget store, hvilket er årsagen til at man ikke bruger tid og cpu-kraft på at indlæse hele log-filen og derefter skrive den igen for at få de nyeste records øverst.
2. De nye arrays fungerer fra php v. 4.1
Avatar billede avminarm Juniormester
22. november 2002 - 13:10 #11
tipsen>>takker for undervisningen - det er altid rart at får lidt "gratis" undervisning ;-)

men ville det ikke være bedre at lave en log i en DB?
Avatar billede avminarm Juniormester
22. november 2002 - 13:11 #12
tipsen>> 2. mener du ikke variabler
Avatar billede tipsen Nybegynder
22. november 2002 - 13:28 #13
En db-baseret log vil være langsommere end filbaseret.

Jeg mener arrays, da $_SERVER, $_POST osv er arrays - men arrays er selvfølgelig bare en bestemt type variable, som dog er mere generelt.
Avatar billede avminarm Juniormester
22. november 2002 - 15:05 #14
jeg bliver så klog ;-)
Avatar billede avminarm Juniormester
26. november 2002 - 15:12 #15
fik du svar - så luk sprg ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester