txt > database
Ik heb hier een groot textbestand en ik wil die in een database hebben (phpMyAdmin).
Kan dat? het tekst bestand is 2000+ rows en op elke row staan 2 'velden' gescheiden door een streeppie (-).
Kan dit uberhaubt? zo ja wie wil mij een zetje in de goede richting geven?
alvast bedankt
...maar hoe ga ik per regel deze inserten én splitten?
staat in je url niet beschreven. (toch?)
1) Heb je speciale tekens om de velden te scheiden?
2) Heb je speciale tekens om de records te scheiden?
Jan Koehoorn schreef op 08.10.2006 23:21:
Het kan, maar het hangt er van af hoe je tekstbestand in elkaar zit. Een paar vragen:
1) Heb je speciale tekens om de velden te scheiden?
2) Heb je speciale tekens om de records te scheiden?
1) Heb je speciale tekens om de velden te scheiden?
2) Heb je speciale tekens om de records te scheiden?
ja (zie eerste post)
de velden zijn gescheiden dmv een streeppie (-)
en de records staan op de volgende regel.
nee natuurlijk werkt dat niet :')
mja heb dus iets nodig dat ie de aantal rows weer geeft ofzo.
Gewijzigd op 01/01/1970 01:00:00 door G.
alleen krijg nu 2000+ x een fout melding. :)
op regel5:
die dus....
Klopt, $values moet $array zijn
ik dank u hartelijk :)
Ik had hem gekopieerd uit een eerder script van me. Maar te gek dat het nu werkt voor je.
die explode werkt niet...
heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$i=0;
$data = file ('txt/data.txt');
foreach ($data as $value) {
$array = explode ('-', $value);
if (is_array ($array) && !empty ($value)) {
echo $array[$i];
$i++;
}
}
?>
/*
echter geeft ie nu nog errors. als ik deze regel:
if (is_array ($array) && !empty ($value)) {
verander naar:
if (is_array ($array) && !empty ($array)) {
dan werkt alleen de eerste regel. maar t streepie is nu gewoon weg en de rest geeft errors...
*/
$i=0;
$data = file ('txt/data.txt');
foreach ($data as $value) {
$array = explode ('-', $value);
if (is_array ($array) && !empty ($value)) {
echo $array[$i];
$i++;
}
}
?>
/*
echter geeft ie nu nog errors. als ik deze regel:
if (is_array ($array) && !empty ($value)) {
verander naar:
if (is_array ($array) && !empty ($array)) {
dan werkt alleen de eerste regel. maar t streepie is nu gewoon weg en de rest geeft errors...
*/
Maaar ben bang dat de fout bij mij ligt. ken php nog niet zo lang namelijk. :)
alleen moet value, array zijn.
hartstikke bedankt!
Ja, dat was dezelfde fout weer :s
:)
http://nl2.php.net/fgetcsv, je kunt hier opgeven met welke separator je werkt.
Hiervoor had je ook deze functie kunnen gebruiken: En over de grote ik lees in 3 minuten een txt bestand in van 53 MB