Gå til innhold

Logge ip, og legge til tekst-fil


Anbefalte innlegg

Edit: Jeg fikk det til selv :wee:

Hallo

 

Jeg droppa planen om å logge "unike" besøkende, og starta på en ny plan om å gjøre det på en ny måte: Logge alle besøkendes ip'er og legge de til en tekst-fil. Når jeg vil vite tallet, laster jeg ned fila og kjører den gjennom et vbskript.

 

Da kan jeg få lagd litt av greia selv :) Det jeg trenger hjelp til er hvordan jeg skal få lagt til ip'ene i en tekst-fil. Noen som vet det?

 

Jonas

Endret av Jonas
Lenke til kommentar
Videoannonse
Annonse
Mulig at vev-tjeneren generer en .access_log- fil til deg. Denne inneholder all informasjonen du trenger. På den måten trenger du ikke lage et eget PHP-skript.

Hvis den gjør den, hvor finner jeg den? Bruker start.no.

Lenke til kommentar
den heter .access_log, og finnes sikkert i mapperoten din. Du må koble til med et FTP-program for å kunne se denne filen.

Finnes ingen slik fil. Uansett så har jeg lyst til å prøve det her for å lære meg litt php :) Så langt har jeg kommet nå:

<?php

$f=fopen("logg.txt","r");


fclose($f);

?>

"A" skal liksom "legge" til i en tekst fil, men jeg kan jo ikke bare bytte "r" med "a". Hvor skal jeg da skrive hva som skal legges til?

 

Og hva er funksjonen for å få vite ip'en til brukeren?

 

Takker for svar :)

 

Edit: Funksjonen for ip er $_SERVER['REMOTE_ADDR'] :w00t:

Men hvordan legger jeg dette til en tekstfil?

Endret av Jonas
Lenke til kommentar

Er nesten ferdig nå, men jeg har et problem: Skriptet legger ikke til ... det overskriver! Hva må jeg gjøre for å legge til? Sånn ser det ut:

<?php

$f=fopen("logg.txt","a");

fwrite($f, $_SERVER['REMOTE_ADDR']);

fclose($f);

echo "Logget!";

?>

 

Edit: Begyne på php en dag, og neste dag lage dette :D

Endret av Jonas
Lenke til kommentar

nei, "a" skal holde, da dette står for "append" (nynorsk for "legge til")

 

bruker du php dokumentasjonen? www.php.net og søk på fopen eller file, og du finner mye interessant.

 

generelt når man jobber med filer så har man det som heter "file handle", denne har man iform av en varnlig variabel, $blabla. (du har brukt $f til det)

 

deg er vanlig å enten skrive eller lese til/fra en "file handle".

det er (i hovedsak) to måter å åpne en filehandle for skriving, enten legger du til på slutten av fila eller så tømmes fila og du skriver fra toppen. forskjellen på dette er om du sender med enten "w" eller "a" til fopen kommandoen.

 

for å lære om fopen-funksjonen, er det en selvfølge å lese dokumentasjonen om akkurat denne:

http://no2.php.net/fopen

 

her ser du masse mulige bokstaver, men det er i hovesak "r", "w" og "a" som er vanlig å bruke.

 

hvis du vil logge ip'er så vil du typisk skrive til en file handle, og skrive til slutten av fila. man ser av dokumentasjonen at da er det "a" man skal åpne med ("a" for "append")

 

Dette ser ut som er det du gjør. Er du sikker på at du overskriver?

du kan legge til en linjeskift til slutt, så blir det penere i loggen.

 

fwrite($f, $_SERVER['REMOTE_ADDR']."\n");

 

andre ting som også kan være interessant å ha med er tidspunktet, og kanskje browseren

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...