PHP bestand lezen en in variabele zetten
Ik heb een bestand met een opmaak die steeds terugkomt, deze opmaak is namelijk als klein voorbeeld:
###################
User = Reno
ID = 49246
Nogmeer informatie = 18 jaar
Etc = etc
###################
User = Klaas
ID = 3826
Nog meer informatie = PHP Programmeur
Etc = etc
Hoe kan ik zorgen dat een script 'weet' dat er bij Klaas bijv id 3826 hoort en dat hij php programmeur is. Deze data wil ik namelijk in een database zette , maar omdat het om zoveel gebruikers betreft en het gescheiden wordt door ##### leek het mij handig dmv een php script zodat ik deze later ook nog kan gebruiken.
Heeft er toevallig iemand een idee hoe ik dit het beste aan kan pakken zodat er bij elke gebruiker de juiste info bij staat?
Alvast hartelijk dank!!
Reno
Bedankt voor je bericht. Echter komt mij dat script niet helemaal ideaal uit omdat het aantal 'etc = etc' per user wel eens kan verschillen.
Ik kwam dit tegen op het internet http://www.homeandlearn.co.uk/php/php10p7.html
Alleen in mijn file zijn er nog scheidingstekens van ###### aanwezig en ik heb eerlijk gezegd geen idee hoe ik php moet laten weten dat erna weer een nieuw gebruiker begint
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$inhoud = file_get_contents('adressen2.txt');
$array = explode('#', $inhoud);
$new = array();
foreach($array as $line)
{
if(trim($line) == '')
{
continue;
}
$temp = array();
$explode = explode(PHP_EOL,$line);
foreach($explode as $item)
{
if(trim($item) == '')
{
continue;
}
$temp[] = trim($item);
}
$temp2 = array();
foreach($temp as $set)
{
$explode = explode('=',$set);
$temp2[trim($explode[0])] = trim($explode[1]);
}
$new[] = $temp2;
}
echo '<pre>'.print_r($new, true).'</pre>';
?>
$inhoud = file_get_contents('adressen2.txt');
$array = explode('#', $inhoud);
$new = array();
foreach($array as $line)
{
if(trim($line) == '')
{
continue;
}
$temp = array();
$explode = explode(PHP_EOL,$line);
foreach($explode as $item)
{
if(trim($item) == '')
{
continue;
}
$temp[] = trim($item);
}
$temp2 = array();
foreach($temp as $set)
{
$explode = explode('=',$set);
$temp2[trim($explode[0])] = trim($explode[1]);
}
$new[] = $temp2;
}
echo '<pre>'.print_r($new, true).'</pre>';
?>
Output:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24