Config&Array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Config&Array

    Hi zusammen,

    derzeit beschäftige ich mich mit dem Auslesen einer .cfg die aus unterschiedlichen Elementen besteht. Nun finde ich aber keinen genauen Ansatz hierfür.

    Das Problem stellt sich bei 2 Sachen ( "motd[]" und "class Missions").
    Wie kann ich das am elegantesten in seperate Arrays speichern um sie nachher wieder in einer Formularmaske auszugeben.

    ps. vorher hab ich das Ganze über eine Textarea realistiert, möchte es langsam mal ein wenig schöner in einer Eingabemaske unterbringen

    Soweit bin ich bisher schonmal:
    PHP-Code:
                $lines file ('server.cfg');
                foreach ( 
    $lines as $line ) {
                    
    $array explode"="$line );         // zerteilen
                    
    $key trim $array[0] );                 // Leerzeichen (falls vorhanden) am Anfag und Ende Löschen
                    
    $value trim $array[1] );             // Leerzeichen (falls vorhanden) am Anfag und Ende Löschen
                    
    $value str_replace('"'""$value);  // " entfernen
                    
    $value str_replace(";"""$value);  // ; entfernen
                    
    $vars[$key] = $value
    (handelt sich um eine Arma2 cfg)
    Code:
    hostname = "blub";
    password = "blubber";
    passwordAdmin = "blub";
    reportingIP = "arma2oapc.master.gamespy.com";
    logFile = "log/server_console.log";
    motd[] = {"zeile1", 
              "zeile2",
              "zeile3",
              "...ect. ect."
             };
    motdInterval = 5;
    maxPlayers = 30;
    kickDuplicate = 1;
    verifySignatures = 1;
    voteMissionPlayers = 1;
    voteThreshold = 0.33;
    disableVoN = 1;
    vonCodecQuality = 0;
    persistent = 1;
    onUserConnected = "";
    onUserDisconnected = "";
    doubleIdDetected = "";
    regularCheck = "";
    onUnsignedData = "kick (_this select 0)";
    onHackedData = "ban (_this select 0)";
    onDifferentData = "";
    BattlEye = 0;
    
    class Missions
    {
            class DM_Deathmatch
            {
                    template = "MP_Deathmatch.Chernarus";
                    difficulty = "mercenary"; 
            };
            class DM_Detector
            {
                    template = "MP_Detector.Chernarus";
                    difficulty = "mercenary";
            };
            class Team_TeamDeathmatch
            {
                    template = "MP_TeamDeathmatch.Chernarus";
                    difficulty = "mercenary";
            };
            class COOP_Paradrop
            {
                    template = "MP_Paradrop.Chernarus";
                    difficulty = "regular";
            };
            class CTI_CivilWar
            {
                    template = "MP_CivilWar.Chernarus";
                    difficulty = "regular";
            };
            class CTI_SuperPowers
            {
                    template = "MP_Superpowers.Chernarus";
                    difficulty = "regular";
            };
            class CTI_WarWelcome
            {
                    template = "MP_WarWelcome.utes";
                    difficulty = "regular";
            };
            class CTI_WhenDiplomacyFails
            {
                    template = "MP_WhenDiplomacyFails.Chernarus";
                    difficulty = "regular";
            };
    };
    LG
    cxxl
    Zuletzt geändert von cxxl; 31.03.2011, 20:50.

  • #2
    Warum so umständlich mit einem selbstgebastelten Format? Warum kein standardisiertes Format verwenden, wofür es schon fertige Funktionen gibt?

    Kommentar


    • #3
      Wenn ich das wüsste wäre ich schlauer als jetzt

      Kommentar


      • #4
        ini-Dateien?

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hey, Danke!
          Diese Option war mir bisher noch nicht bekannt. Wobei ich wohl besser nochmal ganz schnell auf die Seite vom "Peter" wusel und mir die ein oder andere Sache durchlese. Denn so ganz klappt das hier nicht wie ich mir das vorstelle

          Bei den geschwungenen Klammern wird es schon affig...

          Kommentar


          • #6
            die brauchst du dann nicht mehr
            [font=Verdana]
            Wer LESEN kann, ist klar im Vorteil!
            [/font]

            Kommentar


            • #7
              In dem Fall schon, sonst geht die .cfg nicht mehr. Das ist ja das Problem.
              So wie die .cfg wie oben gezeigt, muss sie aussehen, sonst läuft der Server nicht mehr, bzw. die class Missions könnte zb. auch nur einen Eintrag haben das wäre Möglich, aber ohne die Klammer geht da nichts mehr.

              Kommentar


              • #8
                hast du denn das umgesetzt von kropff mit den ini-dateien ? ... dann solltest du ohne die Klammern auskommen
                [font=Verdana]
                Wer LESEN kann, ist klar im Vorteil!
                [/font]

                Kommentar


                • #9
                  Da musst du dir wohl einen eigenen kleinen Parser bauen oder (wenn du das nicht kannst und es wichtig genug ist) ein Jobangebot draus machen.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar

                  Lädt...
                  X