Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] .ini Datei in Array etwas rein schreiben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] .ini Datei in Array etwas rein schreiben

    Guten Abend liebe Community !

    Nachdem ich es endlich geschafft habe die in der .ini Datei stehenden Daten in Arrays auszugeben , stehe ich wieder vor einem Problem...
    Nun möchte ich etwas in ein bestimmtes Array rein schreiben.
    Das Array gebe ich so aus :
    PHP-Code:
    $fp parse_ini_file('../scriptfiles/Accounts/'.$username.'.ini','TRUE');
    echo 
    $fp['Level']; 
    Mit freundlichen Grüßen ,

    Nickalaschka

  • #2
    Nun möchte ich etwas in ein bestimmtes Array rein schreiben.
    Etwas genauer?
    PHP-Code:
    echo $fp['Level']; 
    dann:
    PHP-Code:
    $fp['Level'] = 4711;
    echo 
    $fp['Level']; // 4711 
    oder wie?
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Zitat von hausl Beitrag anzeigen
      Etwas genauer?

      dann:
      PHP-Code:
      $fp['Level'] = 4711;
      echo 
      $fp['Level']; // 4711 
      oder wie?
      Ich möchte den Array , den ich aus der .ini Datei auslese z.B durch 4711 ersetzen in der .ini Datei.

      € : Also ich gebe alles in einem assoziativen Array aus.
      Wenn ich es so mache wie es oben steht , dann wird das nicht in der .ini Datei gespeichert.

      Kommentar


      • #4
        Wenn ich es so mache wie es oben steht , dann wird das nicht in der .ini Datei gespeichert.
        Natürlich nicht, das Array (im Arbeitsspeicher von PHP bzw. des Webservers) hat so gesehen nichts mit der ini Datei am Filesystem zu tun. Die hast du nur zu Beginn mal ausgelesen. Den Rest musst du dann noch umsetzen.

        Also:

        1. ini-Datei in Array einlesen (hast du ja schon)

        2. Wert im Array verändern (siehe oben)

        3. Array wieder in die ini zurückschreiben
        -> Was hast du bisher versucht? Wo ist konkret dein Problem?

        LG
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von hausl Beitrag anzeigen
          Natürlich nicht, das Array im (Arbeitsspeicher) von PHP hat so gesehen nichts mit der ini Datei zu tun. Die hast du nur zu beginn mal aus/eingelesen. Den Rest musst du dann noch umsetzen.

          Also:

          1. ini-Datei einlesen (hast du ja schon)

          2. Wert verändern (siehe oben)

          3. Array wieder in die ini zurückschreiben
          -> Was hast du bisher versucht? Wo ist konkret dein Problem?
          Also ich möchte den Wert der im assoziativen Array steht durch eine Variable ersetzen. Ich habe versucht den Array so auszugeben und durch eine Zahl zu ersetzen :
          $fp['Level'] = 4711;
          Jedoch wird es nicht in die .ini geschrieben.

          Ich weiß nicht wie ich den neuen Wert in die .ini zurrückschreibe.

          Kommentar


          • #6
            Zitat von Nickalaschka Beitrag anzeigen
            Ich weiß nicht wie ich den neuen Wert in die .ini zurrückschreibe.
            Zitat von hausl Beitrag anzeigen
            -> Was hast du bisher versucht? Wo ist konkret dein Problem?
            Schau mal hier: https://www.google.at/#q=php+ini+write+OR+schreiben

            EDIT: Im einfachsten Fall machst eine foreach() Schleife über das Array, damit du dann key=value\n hast und das dann mit file_put_contents() in die ini rein.

            LG
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Zitat von hausl Beitrag anzeigen
              Schau mal hier: https://www.google.at/#q=php+ini+write+OR+schreiben

              EDIT: Im einfachsten Fall machst eine foreach() Schleife über das Array, damit du dann key=value\n hast und das dann mit file_put_contents() in die ini rein.

              LG
              Mit der foreach Schleife gebe ich alles aus was nach dem = steht in der .ini aus .
              PHP-Code:
              Key=maverik
              Level
              =2
              AdminLevel
              =0
              Supporter
              =0
              DonateRank
              =1
              UpgradePoints
              =0
              ConnectedTime
              =0
              Registered
              =1
              Sex
              =1
              Punkte
              =0
              Age
              =19
              Origin
              =1
              CK
              =
              das sieht dann ca. so aus :
              2
              0
              0
              1
              0
              0
              1
              1
              0
              19
              1
              0
              0
              0
              0
              35000
              500000
              0
              0
              0
              0
              Und in wiefern bringt es mich weiter ?

              Kommentar


              • #8
                Dann passt deine Schleife nicht ganz.. Mann, dir scheinen da echt ein paar wirkliche Gundlagen zu fehlen.. schau:

                Ursprung - mal so als unser Test-Array angelegt
                PHP-Code:
                $aData = array(
                            
                'Key'=> 'maverik'
                            
                'Level'=> 2
                            
                'AdminLevel'=> 0,
                            
                'Supporter'=> 0
                            
                'DonateRank'=> 1
                            
                'UpgradePoints'=> 0
                            
                'ConnectedTime'=> 0
                            
                'Registered'=> 1
                            
                'Sex'=> 1
                            
                'Punkte'=> 0
                            
                'Age'=> 19
                            
                'Origin'=> 1
                            
                'CK'=> 0,  
                         ); 
                dann .. einen wert überschreiben 4711 statt 2 beim level

                PHP-Code:
                $aData['Level'] = 4711
                Dann schaut Array so aus:

                PHP-Code:
                print_r($aData);
                /*
                Array
                (
                    [Key] => maverik
                    [Level] => 4711
                    [AdminLevel] => 0
                    [Supporter] => 0
                    [DonateRank] => 1
                    [UpgradePoints] => 0
                    [ConnectedTime] => 0
                    [Registered] => 1
                    [Sex] => 1
                    [Punkte] => 0
                    [Age] => 19
                    [Origin] => 1
                    [CK] => 0
                )
                */ 
                Nun ist 4711 nur im array aber noch nicht in der ini, daher den String für die Ausgabe für die ini datei zusammenbauen, hier zusammengetippt... wie erwähnt siehe auch google für escaping und sections (das sind [diese] Dinger, quasi Kategorien)

                PHP-Code:
                $sIni "";
                foreach(
                $aData as $key => $value) {
                    
                $sIni .= $key."=".$value."\n";
                }

                echo 
                $sIni;
                /*
                    Key=maverik
                    Level=4711
                    AdminLevel=0
                    Supporter=0
                    DonateRank=1
                    UpgradePoints=0
                    ConnectedTime=0
                    Registered=1
                    Sex=1
                    Punkte=0
                    Age=19
                    Origin=1
                    CK=0
                */ 
                Und nun muss den string nur mehr in die ini-datei schreiben. Das machst dann DU noch .. ist ein Befehl, file_put_contents()

                LG
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Zitat von hausl Beitrag anzeigen
                  Dann passt deine Schleife nicht ganz.. Mann, dir scheinen da echt ein paar wirkliche Gundlagen zu fehlen.. schau:

                  Ursprung - mal so als unser Test-Array angelegt
                  PHP-Code:
                  $aData = array(
                              
                  'Key'=> 'maverik'
                              
                  'Level'=> 2
                              
                  'AdminLevel'=> 0,
                              
                  'Supporter'=> 0
                              
                  'DonateRank'=> 1
                              
                  'UpgradePoints'=> 0
                              
                  'ConnectedTime'=> 0
                              
                  'Registered'=> 1
                              
                  'Sex'=> 1
                              
                  'Punkte'=> 0
                              
                  'Age'=> 19
                              
                  'Origin'=> 1
                              
                  'CK'=> 0,  
                           ); 
                  dann .. einen wert überschreiben 4711 statt 2 beim level

                  PHP-Code:
                  $aData['Level'] = 4711
                  Dann schaut Array so aus:

                  PHP-Code:
                  print_r($aData);
                  /*
                  Array
                  (
                      [Key] => maverik
                      [Level] => 4711
                      [AdminLevel] => 0
                      [Supporter] => 0
                      [DonateRank] => 1
                      [UpgradePoints] => 0
                      [ConnectedTime] => 0
                      [Registered] => 1
                      [Sex] => 1
                      [Punkte] => 0
                      [Age] => 19
                      [Origin] => 1
                      [CK] => 0
                  )
                  */ 
                  Nun ist 4711 nur im array aber noch nicht in der ini, daher den String für die Ausgabe für die ini datei zusammenbauen, hier zusammengetippt... wie erwähnt siehe auch google für escaping und sections (das sind [diese] Dinger, quasi Kategorien)

                  PHP-Code:
                  $sIni "";
                  foreach(
                  $aData as $key => $value) {
                      
                  $sIni .= $key."=".$value."\n";
                  }

                  echo 
                  $sIni;
                  /*
                      Key=maverik
                      Level=4711
                      AdminLevel=0
                      Supporter=0
                      DonateRank=1
                      UpgradePoints=0
                      ConnectedTime=0
                      Registered=1
                      Sex=1
                      Punkte=0
                      Age=19
                      Origin=1
                      CK=0
                  */ 
                  Und nun muss den string nur mehr in die ini-datei schreiben. Das machst dann DU noch .. ist ein Befehl, file_put_contents()

                  LG
                  Vielen Dank
                  Es klappt alles wunderbar

                  Kommentar

                  Lädt...
                  X