Gå til innhold

Lese innhold fra en tekstfil, og fjerne space


Anbefalte innlegg

Hei hei,

 

jeg har en tekstfil, som jeg skal lese ut innhold fra med jevne mellomrom.

Tekstfila har innhold som dette:

 

---------------------------------------------------

program1 host1.domain.com ok

program2 host2.domain.com ok

program3 host1.domain.com error

program4 host1.domain.com ok

---------------------------------------------------

 

NB: Det er 7stk mellomrom mellom hvert ord i tekstfila (vises bare som ett på forumet).

 

Det jeg trenger, er en funksjon som henter ut info og lager variabler per linje.

F.eks:

 

$program1 = "program1";

$host = "host1.domain.com";

$status = "ok";

 

så skal disse variablene registreres i en mysqldatabase.

Så skal jeg repetere scriptet for neste linje, sånn at det blir satt inn i en annen tabell i databasen

 

Sånn sett kan jeg også lage en funksjon: function lesInnhold($linje).

Jeg har prøvd å få dette til via å bruke et bashscript som kjøres fra php

Bruker jeg: cat tekstfil.txt | grep program1 | cut -d " " -f 1

..så får jeg ut "program1", men sliter med å få tak i de neste ordene pga alle mellomrommene.

 

cut -d " " -f2 funker liksom ikke heller :-)

 

Håper jeg ikke formulerte meg for rotete i dette spørsmålet, men hvis noen har en ide, så kom gjerne med et tips :-)

Endret av formatted
Lenke til kommentar
Videoannonse
Annonse

$fil = file( "fil.txt" );

foreach( $fil as $linje ) {

$x = explode( ' *syv mellomrom* ', $linje );

mysql_query( "INSERT INTO database ('program', 'host', 'status') VALUES ("{$x['0']}", "{$x['1']}", "{$x['2']}" )" );

}

 

 

I think

 

edit; en liten feil funnet..

Endret av Ståle
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...