Avatar billede sorenriis Nybegynder
07. september 2004 - 11:12 Der er 5 kommentarer og
1 løsning

Behandling af logfiler?

Jeg skal lave noget behandling af logfiler.

Det forgår ved at jeg har lavet en form, hvor jeg så indsætter logfilen. Logfilen kunne se således ud:

[Slot001]
Driver=Nicolai Lind
Vehicle=2004 Williams
QualPlace=2
QualTime=1:41.876
RacePlace=2
RaceLaps=22
RaceBestLap=1:44.086
RaceTime=0:39:24.302

Jeg har forsøgt at køre en parse_ini_file, men det giver en "safemode" fejl... Og den aner jeg ikke hvordan jeg slippet af med. Det skal køre på et webhotel, så jeg har ikke mulighed for at ændre i instillingerne.

Findes der andre måder? Logfilen læses ind i en variabel og så skal jeg så have hentet de værdier ud af logfilen (ville være rart hvis jeg f.eks. kunne få det gemt i en variabel, så f.eks. $RaceBestLap=1:44.086).

Nogle der kan hjælpe mig med at klare det?
Avatar billede coderdk Praktikant
07. september 2004 - 16:11 #1
Hvad med noget i stil med:

<?php

    $text = <<<EOT
[Slot001]
Driver=Nicolai Lind
Vehicle=2004 Williams
QualPlace=2
QualTime=1:41.876
RacePlace=2
RaceLaps=22
RaceBestLap=1:44.086
RaceTime=0:39:24.302
EOT;

    $text = explode( "\n", $text );
    $n = count( $text );
    $res = array();
    $cursect = NULL;
    for ( $i = 0; $i < $n; $i++ )
    {
        if ( preg_match( "/^\[(.*?)\]$/", $text[ $i ], $match ) )
        {
            $cursect = array();
            $res[ $match[1] ] = &$cursect;
        }
        else if ( preg_match( "/^(.*)\=(.*)$/", $text[ $i ], $match ) )
        {
            if ( is_null( $cursect ) )
            {
                $cursect = &$res;
            }
            $cursect[ $match[ 1 ] ] = $match[ 2 ];
        }
    }

    echo "<pre>";
    print_r( $res );

?>
Avatar billede sorenriis Nybegynder
07. september 2004 - 16:23 #2
Selve logfilen sætter jeg jo ind via en form..

Du skriver det her:
    $text = <<<EOT
[Slot001]
Driver=Nicolai Lind
Vehicle=2004 Williams
QualPlace=2
QualTime=1:41.876
RacePlace=2
RaceLaps=22
RaceBestLap=1:44.086
RaceTime=0:39:24.302
EOT;

Skal der det der "EOT" omkring teksten?
Avatar billede coderdk Praktikant
07. september 2004 - 16:51 #3
Nej, hvis bare lav en $text = $_POST['ditfeltnavn'];
Avatar billede coderdk Praktikant
07. september 2004 - 16:52 #4
Avatar billede sorenriis Nybegynder
08. september 2004 - 01:31 #5
Ok.. må lige prøve det.. vender tilbage:)
Avatar billede sorenriis Nybegynder
08. september 2004 - 12:36 #6
Takker.. Virker helt efter hensigten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester