PHP bestand lezen en in variabele zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Reno L

Reno L

18/03/2013 00:07:27
Quote Anchor link
Hallo,

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
 
PHP hulp

PHP hulp

26/11/2024 05:27:54
 
- SanThe -

- SanThe -

18/03/2013 00:34:37
 
Reno L

Reno L

18/03/2013 01:28:22
Quote Anchor link
Hey,

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
 
- SanThe -

- SanThe -

18/03/2013 09:17:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
?>


Output:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Array
(
    [0] => Array
        (
            [User] => Reno
            [ID] => 49246
            [Nogmeer informatie] => 18 jaar
            [Etc] => etc
        )

    [1] => Array
        (
            [User] => Klaas
            [ID] => 3826
            [Nog meer informatie] => PHP Programmeur
            [Etc] => etc
        )
}
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/03/2013 10:03:23
Quote Anchor link
Mijn oplossing (sorry ik moest even naar de tandarts :-))

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

$arr
= file('data.txt');
$data = array();

foreach($arr as $line) {
    $a = explode('=', $line);
    if(count($a) == 2) {
        $data[trim($a[0])] = trim($a[1]);
    }
else {
        if(count($data)) {
            $final[] = $data;
        }

        $data = array();
    }

    echo $line.'<br/>';
}

if(count($data)) {
    $final[] = $data;
}


print_r($final);

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.