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|namn|nästa fält|ännu ett fält...|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?
------------------
Gislaved.net
"Tänk på vad du säger så att du inte säger vad du tänker."
nanneMedlem sedan dec. 19991 749 inlägg Läs in filen och loopa
Gör en explode på | i varje rad du kommer in och gör en INSERT med arrayen.
------------------
Fatal Error: Call to undefined function:
brain() in ./self.php on line 1
nanne.net
woodiMedlem sedan feb. 20001 270 inlägg 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("|",$s);
mysql_query("insert into tabellnamn set fält1='$s[0]',fält2='$s[1]'");
}
}
------------------
woodi
Svenska FF1
www.johan-skog.nu
[Redigerat av woodi den 27 okt 2000]
Visst... det fungerar fint! Tack!
Om jag vill börja från slutet av filen istället... hur gör jag då?
------------------
Gislaved.net
"Tänk på vad du säger så att du inte säger vad du tänker."
woodiMedlem sedan feb. 20001 270 inlägg 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.
------------------
woodi
Svenska FF1
www.johan-skog.nu
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.
------------------
Gislaved.net
"Tänk på vad du säger så att du inte säger vad du tänker."
woodiMedlem sedan feb. 20001 270 inlägg 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");
------------------
woodi
Svenska FF1
www.johan-skog.nu
Tack woodi! Du är en ängel... :-)
explode-grejen var smart... den ska jag använda mig av fler gånger.
------------------
Gislaved.net
"Tänk på vad du säger så att du inte säger vad du tänker."
woodiMedlem sedan feb. 20001 270 inlägg Hey, varsågod! :)
------------------
woodi
Svenska FF1
www.johan-skog.nu