---
title: "Från textfil till MySql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14902-från-textfil-till-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Gislaved.net"
published: "2000-10-26T19:49:00.000Z"
updated: "2000-10-27T14:25:00.000Z"
replies: 8
views: 208
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/14902-från-textfil-till-mysql"
---

# Från textfil till MySql

## #1 — Gislaved.net, 2000-10-26T19:49Z

Jag har en textfil där jag har lagrat en massa poster, en post på varje rad.

Varje rad ser ut ungefär såhär:

idnr&#0124;namn&#0124;nästa fält&#0124;ännu ett fält...&#0124;och så vidare....

Hur kan jag läsa av innehållet i varje fält till en variabel, för att kunna lagra datan i en MySql-databas?

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

## #2 — nanne, 2000-10-27T06:17Z

Läs in filen och loopa 

Gör en explode på &#0124; i varje rad du kommer in och gör en INSERT med arrayen.

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

## #3 — woodi, 2000-10-27T07:26Z

Vad Nanne försöker berätta är följande:

$fp=fopen("textfilen.txt", "r");
if($fp) {
  while(!feof($fp)) {
    $s=fgets($fp, 30000);
    $s=explode("&#0124;",$s);
    mysql_query("insert into tabellnamn set fält1='$s\[0\]',fält2='$s\[1\]'");
  }
}

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

## #4 — Gislaved.net, 2000-10-27T10:07Z

Visst... det fungerar fint! Tack!

Om jag vill börja från slutet av filen istället... hur gör jag då?

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

## #5 — woodi, 2000-10-27T10:15Z

Då får Du läsa in raderna i en array och sedan sortera den fallande rsort().
Och sedan göra en explode på varje array-post.

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

## #6 — Gislaved.net, 2000-10-27T10:33Z

Okej... jag fick ordning på det till slut. Tack!

Det enda som krånglar är ett litet datumfält som jag vill ha i ett annat format. I textfilen står det som 25/9 - 2000 18:56, det vill säga dagen och månaden anges med en eller två siffror. Jag vill ha datumet i formatet 200009251856 om det går. 

Jag använder substr för att plocka ut delar av datumet, men jag får det inte riktigt att stämma.

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

## #7 — woodi, 2000-10-27T10:57Z

Använd följande funktion och anropa från loopen.

Function GetTime($indate){
    $indate="25/9 - 2000 18:56";
    $tmp=explode("/",$indate);
    $day=$tmp\[0\];
    $tmp=explode(" ",$tmp\[1\]);
    $month=$tmp\[0\];
    $year=$tmp\[2\];
    $tmp=explode(":",$tmp\[3\]);
    $hour=$tmp\[0\];
    $minute=$tmp\[1\];
  
    if(strlen($day)==1)
      $day="0".$day;
    if(strlen($month)==1)
      $month="0".$month;
       
    $outdate=$year.$month.$day.$hour.$minute; 
    return $outdate;
  }

Anropa med:
$NewDate=GetTime("25/9 - 2000 18:56");

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

## #8 — Gislaved.net, 2000-10-27T13:42Z

Tack woodi! Du är en ängel... :-) 

explode-grejen var smart... den ska jag använda mig av fler gånger.

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

## #9 — woodi, 2000-10-27T14:25Z

Hey, varsågod!  :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/14902-från-textfil-till-mysql
