Knutgrus Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 (endret) Ja, som topic sier... Følgende kode på en side som logger ip med dato: fputs($fp1,nl2br($_SERVER['REMOTE_ADDR']). ' - ' . date('Y-m-d') . ' ' . date('H:i:s'). ' ### '); I ip-logg.txt blir det bare lagret en lang tekst-linje. Hva skriver jeg for å få til linjeskift mellom inleggene? Og hva skriver jeg for at det siste innlegget lagres først? Edit: Nå skriver jeg ' ### ' (til slutt) for enklere å se hvor de forskjellige er. Edit 2: Løsning: fputs($fp1,nl2br($_SERVER['REMOTE_ADDR']). ' - ' . date('Y-m-d') . ' ' . date('H:i:s'). "\n" ); Endret 20. oktober 2005 av Knutgrus Lenke til kommentar
Darkshade Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 du kan prøve <br> Lenke til kommentar
j-- Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 Er ikke \n for New line? (eller er jeg helt på bærtur nå?) Og du burde legge inn <br> for å få linebreak i html. Regner med at du ser siden i html? Lenke til kommentar
Knutgrus Skrevet 20. oktober 2005 Forfatter Del Skrevet 20. oktober 2005 Fikk ikke \n til å fungere jeg. Kan jo selfølgelig lese i html... Hadde vært greit å ha ryddig txt-fil og... Lenke til kommentar
j-- Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 (endret) fputs($fp1,nl2br($_SERVER['REMOTE_ADDR']). ' - ' . date('Y-m-d') . ' ' . date('H:i:s'). ' ### ' <br>\n); Hvis du nå putter filendelsen på fila den skriver til, til .html, så vil den gå i quirks mode, og du vil få linjeskift når den rendrer edit: Skal ikke garantere at det fungerer, for jeg er ganske ny i gamet selv Endret 20. oktober 2005 av clvn Lenke til kommentar
Knutgrus Skrevet 20. oktober 2005 Forfatter Del Skrevet 20. oktober 2005 Får det ikke til å funke. Det skal vel helst være: ... ' ### ' '<br> \n' ); eller? Altså inni to sånne: ' Hva med alle punktumene i koden? Er det nødvendig? [ctrl]+[c] / [ctrl]+[v] er ofte brukt her må jeg inrømme... Lenke til kommentar
Patience Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 Bruker bare <br><br> jeg for feks linjeskift med mellomrom i php.. Lenke til kommentar
Knutgrus Skrevet 20. oktober 2005 Forfatter Del Skrevet 20. oktober 2005 er ikke visningen jeg vil ha linjeskift i... det er selve fila hvor info'n lagres i... Lenke til kommentar
kakkle Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 (endret) Prøv denne: fputs($fp1,$_SERVER['REMOTE_ADDR']. " - " . date('Y-m-d') . " " . date('H:i:s'). " ### \n"); Trenger ikke <br> i tekstfila... Bruk nl2br for å vise linjeskift i html når teksten skal skrives ut. f.eks. hvis filen heter ip.log $file = file_get_contents("ip.log"); print nl2br($file); Dette skal skrive ut tekstfilen slik den ser ut når du åpner den i en editor. EDIT: Må vel kanskje bruke " (Dobbel quotes). Les mer her Endret 20. oktober 2005 av kakkle Lenke til kommentar
mikk- Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 \r hvis du har windows-server (tror jeg). Lenke til kommentar
Knutgrus Skrevet 20. oktober 2005 Forfatter Del Skrevet 20. oktober 2005 Takker for hjelp! Selfølgelig.... var bare "\n" jeg trengte. Feil mellom ' og " ... Da kommer neste spørsmål... starter ny tråd for den jeg... Lenke til kommentar
Magnus Holm Skrevet 21. oktober 2005 Del Skrevet 21. oktober 2005 Bruk "\r\n", du... Er ikke helt sikker men jeg tror det er sånn: Unix: \n Windows: \r Mac: \r\n Lenke til kommentar
Knutgrus Skrevet 22. oktober 2005 Forfatter Del Skrevet 22. oktober 2005 Tøff signatur, Judofyr. Når "\n" funka, betyr det at området jeg har ligger på en windows-server? Lenke til kommentar
muffe Skrevet 22. oktober 2005 Del Skrevet 22. oktober 2005 Bruk "\r\n", du... Er ikke helt sikker men jeg tror det er sånn:Unix: \n Windows: \r Mac: \r\n 5038604[/snapback] Nå blander du vel litt? Unix/Linux etc: /n Mac: /r Windows: /r/n Men bare hold deg til /n du. Det er det vanligste, og fungerer på de fleste systemer (også Windows). For de som er interessert i å krangle (det er det alltid) så kan de ta en titt på dette, hentet fra php.net: Different operating system families have different line-ending conventions. When you write a text file and want to insert a line break, you need to use the correct line-ending character(s) for your operating system. Unix based systems use \n as the line ending character, Windows based systems use \r\n as the line ending characters and Macintosh based systems use \r as the line ending character. Hentet herfra. Lenke til kommentar
jorgis Skrevet 22. oktober 2005 Del Skrevet 22. oktober 2005 (endret) Bruk "\r\n", du... Er ikke helt sikker men jeg tror det er sånn:Unix: \n Windows: \r Mac: \r\n 5038604[/snapback] Nå blander du vel litt? Unix/Linux etc: /n Mac: /r Windows: /r/n Men bare hold deg til /n du. Det er det vanligste, og fungerer på de fleste systemer (også Windows). For de som er interessert i å krangle (det er det alltid) så kan de ta en titt på dette, hentet fra php.net: Different operating system families have different line-ending conventions. When you write a text file and want to insert a line break, you need to use the correct line-ending character(s) for your operating system. Unix based systems use \n as the line ending character, Windows based systems use \r\n as the line ending characters and Macintosh based systems use \r as the line ending character. Hentet herfra. 5042212[/snapback] Nesten, muffe. *nix-baserte OS bruker \n mac os x bruker også \n, siden det er basert på darwin mac os x 9 og tidligere bruker \r og windows bruker \r\n Og det skal forresten være backslash (\), og ikke vanlig slash (/) når man bruker escape-tegn. Støtte nemlig på dette for noen uker siden, når jeg skulle splitte en stor fil med mange sql-spørringer i forskjellige spørringer, og fant ut at windows og linux ikke delte linjene likt. OS X delte linjene på samme måte som min Ubuntu-server. Litt irriterende at det ikke er mulig å komme frem til en grei standard for noe sånt, og også at det ikke finnes en standardfunksjon i PHP som automatisk oversetter \r\n til f.eks. \n, men det vil jo gå utover funksjonen til \r i *nix-systemer. Ser ut til at vi er dømt til å måtte legge inn de ekstra linjene for å oversette mellom \r, \r\n og \n... Endret 22. oktober 2005 av jorgis Lenke til kommentar
muffe Skrevet 26. oktober 2005 Del Skrevet 26. oktober 2005 Og det skal forresten være backslash (\), og ikke vanlig slash (/) når man bruker escape-tegn. 5046180[/snapback] Det visste jeg vel egentlig *filleriste meg selv*. Et lite spørsmål: Er det noen grunn til å bruke noe annet enn \n når en lager dynamiske websider (linjeskift i HTML)? Lenke til kommentar
dabear Skrevet 26. oktober 2005 Del Skrevet 26. oktober 2005 Litt irriterende at det ikke er mulig å komme frem til en grei standard for noe sånt, og også at det ikke finnes en standardfunksjon i PHP som automatisk oversetter \r\n til f.eks fopen med t-flagget som andre parameter sørger for dette Et lite spørsmål: Er det noen grunn til å bruke noe annet enn \n når en lager dynamiske websider (linjeskift i HTML)? 5062380[/snapback] For firefox og opera er det likegyldig om du bruker \n eller \r\n, det vises som linjeskift uansett. Lenke til kommentar
jorgis Skrevet 26. oktober 2005 Del Skrevet 26. oktober 2005 Litt irriterende at det ikke er mulig å komme frem til en grei standard for noe sånt, og også at det ikke finnes en standardfunksjon i PHP som automatisk oversetter \r\n til f.eks fopen med t-flagget som andre parameter sørger for dette fopen er unødvendig og ikke anbefalt å bruke når man bare skal lese en fil inn i en streng, derfor bruker jeg file_get_contents(). At det i tillegg er raskere er bare en fordel. Lenke til kommentar
dabear Skrevet 26. oktober 2005 Del Skrevet 26. oktober 2005 (endret) Hehe, skjønte jeg ikke at det kom en som ville kverulere? Bruker du fopen med t-flagget, vil php se alle typer newlines likt, og jeg svarte jo bare på spørsmålet ditt. Du sier «anbefalt», da vil jeg gjerne vite av hvem- for file_get_contents er på ingen måte så mye raskere at det vil utgjøre noen forskjell. Prøv å kjør to for loop-er 100000 gang med henholdsvis file_get_contents og fopen,fread og fclose. Ta så tida med microtime(), og du vil se at det ikke er store forskjellen Endret 26. oktober 2005 av dabear Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå