---
title: "Byta från Flat-file till Mysql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15279-byta-från-flat-file-till-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mikaeled"
published: "2001-02-13T21:21:00.000Z"
updated: "2001-02-19T19:54:00.000Z"
replies: 7
views: 222
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/15279-byta-från-flat-file-till-mysql"
---

# Byta från Flat-file till Mysql

## #1 — mikaeled, 2001-02-13T21:21Z

Hej, 

Jag använder nu en vanliga .log filer för ett system med omkring 20 000 användare (filer). 

Nu skulle jag vilja göra ett script som läser dessa log-filer och skapar rader i mysql databasen. 

logfilerna är uppbyggda såhär och de är numrerade men vissa nummer är borta, pga att de har tagit bort sitt konto hos oss: 

namn &#0124; email &#0124; etc &#0124; etc 

Vore mycket tacksam för hjälp!

Permalänk: https://www.webforum.nu/p/15279

## #2 — nanne, 2001-02-13T22:11Z

Buslätt....

Gör bara en loop som går igenom varje rad i filen.

Läs in hela raden och gör om den med explode("&#0124;",$rad);

Gör insertsatser utav det hela :)

slut på loop...

njut av den ökade hastigheten och flexibiliteten

Permalänk: https://www.webforum.nu/p/317235

## #3 — mikaeled, 2001-02-14T18:02Z

Hej, 

Jag är inte så duktig på loopar etc. Skulle inte ngn vilja skriva koden?

Vore super tacksam

/Mikael

Permalänk: https://www.webforum.nu/p/317236

## #4 — stevenet, 2001-02-16T17:17Z

Ett litet exempel:

```
<?

$db = mysql_connect ("localhost", "anvandare", "losenord") OR DIE (mysql_error());
mysql_select_db("databas",$db) OR DIE (mysql_error());

$dir=opendir("/home/minhamkatalog/");

while($fil = readdir($dir))  {
$typ=substr($fil,0,-4);

	if ($typ==".log") {
		$array = readfile($fil);
		$array=explode ("&#0124;", $array);
		mysql_query("INSERT INTO tabell (namn, osv, osv) VALUES ('$array[0]','$array[1]','$array[2]')") OR DIE (mysql_error());
		}
	}
}
closedir($dir);

mysql_close($db);
?>
```

Har ej testats. Måste antagligen köras via kommandoraden om inte scripttimeouten i php.ini har ändrats.

Permalänk: https://www.webforum.nu/p/317237

## #5 — Al, 2001-02-19T14:58Z

Eller om du vill slippa att koda och loopa:

LOAD DATA LOCAL INFILE 'filnamn.log' INTO TABLE tabellen TERMINATED BY '&#0124;';

Skapa tabellen först.

Aha, det var flera filer, så det blir väl en loop ändå då om du har ett större antal filer, men frågan funkar juh.

/Al

\[Redigerat av Al den 20 feb 2001\]

Permalänk: https://www.webforum.nu/p/317238

## #6 — mikaeled, 2001-02-19T15:25Z

Hej, 

koden som en kille ovanför skrev fungerarade inte. Det blev ngt fel. 

Ni andra kan ju försöka debugga den så att det funkar. Vore mycket tacksam!

Permalänk: https://www.webforum.nu/p/317239

## #7 — nybi, 2001-02-19T17:32Z

vill inte låta elak eller nåt sånt men hrrm du är admin för ett system med ca 20 000 användare och du vet inte ens hur man loopar

Permalänk: https://www.webforum.nu/p/317240

## #8 — mikaeled, 2001-02-19T19:54Z

Hej, 

Det stämmer. Förut hade jag tillgång till en programmerare men han är tyvärr ute på en jordenruntresa. 

Nu har jag fått intresset att byta från flat-file till mysql samt att utveckla tjänsten ännu mer. 

Jag skulle gärna vilja ha fungerande kod, så jag vore tacksam om du kunde kika på koden ovan!

MVH

\-Mikael

Permalänk: https://www.webforum.nu/p/317241

---

Tråden på webben: https://www.webforum.nu/amne/php/15279-byta-från-flat-file-till-mysql
