formatted Skrevet 31. august 2007 Del Skrevet 31. august 2007 (endret) 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 31. august 2007 av formatted Lenke til kommentar
Ståle Skrevet 31. august 2007 Del Skrevet 31. august 2007 (endret) $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 31. august 2007 av Ståle Lenke til kommentar
formatted Skrevet 3. september 2007 Forfatter Del Skrevet 3. september 2007 (endret) Ordna det slik at det ble fjerna all overflødige mellomrom (så det ble kun ett mellom hvert ord). Så kjørte jeg loopen din, og alt funker som det skal Mange takk! Endret 3. september 2007 av formatted 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å