Automatische config.php erstellen

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

  • Automatische config.php erstellen

    Hallo Forum-User,

    ich möchte gerne eine Installationsroutine
    für das erstellen einer Datenbank erstellen.

    Das erzeugen der Datenbank, nach Eingabe der folgenden Daten

    - Server ( Variabel : p_dbhost )
    - Benutzername ( Variabel : p_dbuser )
    - Datenbank ( Variabel : p_dbname )
    - Passwort ( Variabel : p_dbpass )

    habe ich hinbekommen und möchte nun auch gerne
    dass die o.g. Variabel in der ' config.php '
    PHP-Code:
    <?php
    $dbhost
    ='Server';
    $dbuser='Benutzername';
    $dbname='Datenbank';
    $dbpass='Passwort';
    ?>
    automatisch ersetzte wird.

    Ich denke mal, das man es mit 'replace' verwirklichen kann
    Versuch :

    1.) Datei einlesen :
    PHP-Code:
    $datei file("config.php"); 
    2.) Ersetzen :
    PHP-Code:
    str_replace("Server","Benutzername","Datenbank","Passwort""$p_dbhost","$p_dbuser","$p_dbname","$p_dbpass"); 
    3.) Schreiben :
    PHP-Code:
    $fp fopen(config.php'w');
    fputs($fpimplode(''$datei));
    fclose($fp); 
    Aber irgendwie bekomme ich das nicht hin,
    sorry bin absoluter Neuling, aber villeicht kann mir
    ja jemand helfen - wäre Super - D A N K E !

    Gruss Jens-Alf

  • #2
    dein ansatz ist schon ok. nur verlangt str_replace() die parameter ein wenig anders. siehe manual.

    im manual solltest du auch ein paar beispiele sehen. tipp array.


    PHP-Code:
    $search = array ('un''pw');
    $replace = array('username''password');
    $datei str_replace($search$replace$datei); 
    auch solltest du beim einlesen zwingend noch implode() verwenden.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Mhhh, danke für die schnelle Antwort aber irgendwie habe ich die Anleitung
      nicht ganz verstanden und die Beispiele auch nicht.

      So wie ich Dich nun verstanden habe sollte es so aussehen :
      PHP-Code:
      $search = array ('Servername''Benutzername','Datenbank','Passwort');
      $replace = array('$p_dbhost','$p_dbuser','$p_dbname','$p_dbpass');
      $datei str_replace($search$replace$datei); 
      Aber was was ist mit dem 'implode()' irgendwie verstehe
      ich den Zusammenhang nicht, denn was soll ich hier Trennen ?

      Sorry und Danke

      Jens-Alf

      Kommentar


      • #4
        implode() trennt nicht. und ich auch auch gesagt, dass du das bei file() anwenden sollst. file() liefert die nämlich ein array zurück. und mit implode() kannst du das zu einem string zusammenlegen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          O.K. habe das im manual trotzdem nicht verstanden
          aber ich habe mal das Forum durchforstet und folgendes
          zusammengestellt :

          PHP-Code:
          $filename "config.php";
          $datei file($filename);
          $datei implode(""$datei); 
          Ist das so richtig ?
          Entschuldige bitte meine Begriffstutzigkeit aber irgendwie kann ich die Angaben im manual nicht richtig interpretieren es mag vielleicht
          für jemanden einleuchtend sein, der die Befehle schon kennt.

          Gruss und Danke Jens-Alf

          Kommentar


          • #6
            jepp. so kannst du das machen.

            auch kann man das in eine zeile schreiben...

            PHP-Code:
            $datei implode(''file('config.php')); 
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Danke für Deine Hilfe :-)

              Also sollte es folgend funktionieren :

              PHP-Code:
              $datei implode(''file('config.php'));

              $search = array ('Servername''Benutzername','Datenbank','Passwort');
              $replace = array('$p_dbhost','$p_dbuser','$p_dbname','$p_dbpass');
              $datei str_replace($search$replace$datei);

              $fp fopen(config.php'w');
              fputs($fpimplode(''$datei));
              fclose($fp); 
              Eine Frage habe ich doch noch,
              wenn ich nicht weis wie die URL des Benutzers heist
              der dieses Script nutzt kann ich das wie folgt Lösen :
              PHP-Code:
              $path ereg_replace ("\\\\","/",__FILE__); 
              $path dirname ($path); 
              $path trim($path);

              $datei implode(''file('$path/config.php'));

              $search = array ('Servername''Benutzername','Datenbank','Passwort');
              $replace = array('$p_dbhost','$p_dbuser','$p_dbname','$p_dbpass');
              $datei str_replace($search$replace$datei);

              $fp fopen($path/config.php'w');
              fputs($fpimplode(''$datei));
              fclose($fp);
              ....
              echo 
              "<link href='$path/images/win_ie.css' rel='stylesheet' type='text/css'>";
              .... 
              Ist doch eigentlich egal ob man den absoluten Pfad
              oder die URL bei Befehlen wie oben beschrieben angibt ! Oder ?

              Gruss und Danke Jens-Alf

              Kommentar


              • #8
                hier ist das implode 'sinnlos' ..
                PHP-Code:
                fputs($fpimplode(''$datei)); 
                .. es reicht hier ...
                PHP-Code:
                fputs($fp$datei); 
                und __FILE__ würde ich für den hostname auch nicht machen.
                benutze $_SERVER['HTTP_HOST'] dafür.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  So ?
                  PHP-Code:
                  $path['HTTP_HOST'];

                  $datei implode(''file('$path/config.php'));

                  $search = array ('Servername''Benutzername','Datenbank','Passwort');
                  $replace = array('$p_dbhost','$p_dbuser','$p_dbname','$p_dbpass');
                  $datei str_replace($search$replace$datei);

                  $fp fopen($path/config.php'w');
                  fputs($fp$datei);
                  fclose($fp);
                  ....
                  echo 
                  "<link href='$path/images/win_ie.css' rel='stylesheet' type='text/css'>";
                  .... 
                  Was bewirkt eigentlich '$_SERVER["SERVER_URL"]'
                  bzw. was ist der Unterschied, denn diesen Befehl
                  kann ich im manual nicht finden ?!

                  Danke, gute Nacht Jens-Alf

                  Kommentar


                  • #10
                    Doch noch ein Problem :-)

                    Es werden die Namen der Variabeln übergeben, jedoch nicht der Inhalt.

                    An was kann das liegen ?

                    Kommentar


                    • #11
                      PHP-Code:
                      $var='Hallo';
                      echo 
                      '$var';
                      eco '<br />';
                      echo 
                      "$var";
                      eco '<br />';
                      echo 
                      $var
                      ausgabe:
                      $var
                      Hallo
                      Hallo

                      fazit: nimm die dritte variante, die is die sauberste
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Danke für die Antwort, das mit der Übergabe des
                        Variabelinhaltes mit 'echo' ist schon klar,
                        jedoch klappt das irgendwie nicht bei dem von mir eingestzten
                        Code, denn dann übernimmt er z.B. $dbpass='echo $p_dbpass'; .

                        Gruss und danke jens-alf

                        Kommentar


                        • #13
                          *grmpf*
                          du schuldest mir ne tastatur, meine is eben kaputt gegangen

                          ich wollte dich damit dazu bewegen aus
                          PHP-Code:
                          $replace = array('$p_dbhost','$p_dbuser','$p_dbname','$p_dbpass'); 
                          das hier zu machen:
                          PHP-Code:
                          $replace = array($p_dbhost,$p_dbuser,$p_dbname,$p_dbpass); 
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Ok. Tastatur kann ich Dir günstiger geben, da meine Abteilung
                            im Media-Markt **grins**.

                            Aber leider wird hier nur ein leerer Array übergeben den das
                            Ergebnis sieht so aus.
                            PHP-Code:
                            <?php
                            $dbhost
                            ='';
                            $dbuser='';
                            $dbname='';
                            $dbpass='';
                            ?>
                            und das Script :
                            PHP-Code:
                            <?php
                            //Header
                            include('header.inc.php');

                            echo 
                            "<img src='images/break-el.gif' width='100%' height=1><br>";
                                echo 
                            "<br><table width=100% border=0 cellspacing=0 cellpadding=0>";
                                echo 
                            "<tr>";
                                echo 
                            "<td width=40>&nbsp;</td>";
                                echo 
                            "<td><table width=100% border=0 align=center cellpadding=0 cellspacing=0>";
                                    echo 
                            "<tr>";
                                    echo 
                            "<td width=118 rowspan=4 valign=top><img src='images/install_welcome.gif' width='118' height='110' alt='Herzlich Willkommen'></td>";
                                    echo 
                            "<td width=12 rowspan=4>&nbsp;</td>";
                                    echo 
                            "<td width=620>&nbsp;</td>";
                                    echo 
                            "</tr><tr>";
                                    echo 
                            "<td class=tab-s>Script - Installation</td>";
                                    echo 
                            "</tr><tr>";
                                    echo 
                            "<td><img src='images/break.gif' width=100% height=1></td>";
                                    echo 
                            "</tr><tr>";
                                    echo 
                            "<td height=32 valign=top><br>Bevor Sie dieses Script nutzen k&ouml;nnen, m&uuml;ssen Sie 
                                                einige Parameter einstellen, sowie <br>
                                                die Einstellungen f&uuml;r MySQL-Datenbank festlegen. Klicken 
                                                Sie bitte auf <font color=#000063><strong>Weiter</strong></font>.</td>"
                            ;
                                    echo 
                            "</tr>";
                                    echo 
                            "</table></td>";
                                echo 
                            "<td width=40>&nbsp;</td>";
                                echo 
                            "</tr></table>";
                            echo 
                            "<br>";
                            echo 
                            "<img src='images/break-el.gif' width='100%' height=1><br>";
                            echo 
                            "<br><br>";
                                echo 
                            "<form name='form1' method='post' action='step2.php'>";
                                echo 
                            "<table width=100% border=0 cellspacing=0 cellpadding=0>";
                                echo 
                            "<tr>";
                                echo 
                            "<td width=40>&nbsp;</td>";
                                echo 
                            "<td><table width=100% border=0 cellspacing=0 cellpadding=2>";
                                    echo 
                            "<tr>";
                                    echo 
                            "<td colspan=3><img src='images/icon-setup.gif'>&nbsp;<strong>Datenbank-Einstellungen</strong></td>";
                                    echo 
                            "</tr><tr>";
                                    echo 
                            "<td colspan=3><img src='images/break.gif' width='100%' height='1'></td>";
                                    echo 
                            "</tr><tr>";
                                    echo 
                            "<td width=20>&nbsp;</td>";
                                    echo 
                            "<td width=544><table width=100% border=0 cellspacing=10 cellpadding=0>";
                                        echo 
                            "<tr>";
                                        echo 
                            "<td width=130>DB-Host</td>";
                                        echo 
                            "<td><input type='text' style='WIDTH: 200px;' name='p_dbhost' value='localhost'></td>";
                                        echo 
                            "</tr>";
                                        echo 
                            "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                        echo 
                            "<tr>";
                                        echo 
                            "<td width=130>DB-Username</td>";
                                        echo 
                            "<td><input type='text' style='WIDTH: 200px;' name='p_dbuser'></td>";
                                        echo 
                            "</tr>";
                                        echo 
                            "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                        echo 
                            "<tr>";
                                        echo 
                            "<td width=130>DB-Name</td>";
                                        echo 
                            "<td><input type='text' style='WIDTH: 200px;' name='p_dbname'></td>";
                                        echo 
                            "</tr>";
                                        echo 
                            "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                        echo 
                            "<tr>";
                                        echo 
                            "<td width=130>DB-Passwort</td>";
                                        echo 
                            "<td><input type='password' style='WIDTH: 200px;' name='p_dbpass'></td>";
                                        echo 
                            "</tr>";
                                        echo 
                            "</table></td>";
                                echo 
                            "<td width=40>&nbsp;</td>";
                                echo 
                            "</tr><tr>";
                                echo 
                            "<td colspan=3><img src='images/break.gif' width='100%' height='1'</td>";
                                echo 
                            "</tr></table>";
                                
                                echo 
                            "</td>";
                                echo 
                            "<td width=40>&nbsp;</td>";
                                echo 
                            "</tr></table>";
                            echo 
                            "<div align=right><br><br><img src='images/break-el.gif' width='100%' height='1'><br>";
                            echo 
                            "<table width='100%' border=0 cellspacing=0 cellpadding=0>";
                            echo 
                            "<tr>";
                            echo 
                            "<td width=40>&nbsp;</td>";
                            echo 
                            "<td><br><div align=right><input type='submit' name='p_absenden' value='Weiter'></div></td>";
                            echo 
                            "<td width=40>&nbsp;</td>";
                            echo 
                            "</tr></table>";
                            echo 
                            "<div align='left'><br>";
                            //Footer
                            include('footer.inc.php');

                            //Datenbankfile erstellen
                            $path['HTTP_HOST'];
                            $datei implode(''file('config.php'));
                            $search = array ('Server''Benutzername','Datenbank','Passwort');
                            $replace = array($p_dbhost,$p_dbuser,$p_dbname,$p_dbpass);
                            $datei str_replace($search$replace$datei);
                            $fp fopen('config.php''w');
                            fputs($fp$datei);
                            fclose($fp);
                            ?>
                            Gruss und Danke Jens-Alf

                            Kommentar


                            • #15
                              du schreibst ja immer in deine datei rein. auch wenn du noch keine werte hast.

                              so sollte es passen. (ohne garantie)
                              PHP-Code:
                              <?php
                              //Header
                              include('header.inc.php');

                              if (isset(
                              $_POST['p_dbhost'], $_POST['p_dbuser'], $_POST['p_dbname'], $_POST['p_dbpass']))
                              {
                                  
                              //Datenbankfile erstellen
                                  
                              $path['HTTP_HOST'];
                                  
                              $datei implode(''file('config.php'));
                                  
                              $search = array ('Server''Benutzername','Datenbank','Passwort');
                                  
                              $replace = array($_POST['p_dbhost'], $_POST['p_dbuser'], $_POST['p_dbname'], $_POST['p_dbpass']);
                                  
                              $datei str_replace($search$replace$datei);
                                  
                              $fp fopen('config.php''w');
                                  
                              fputs($fp$datei);
                                  
                              fclose($fp);
                              }
                              else
                              {
                                  echo 
                              "<img src='images/break-el.gif' width='100%' height=1><br>";
                                      echo 
                              "<br><table width=100% border=0 cellspacing=0 cellpadding=0>";
                                      echo 
                              "<tr>";
                                      echo 
                              "<td width=40>&nbsp;</td>";
                                      echo 
                              "<td><table width=100% border=0 align=center cellpadding=0 cellspacing=0>";
                                          echo 
                              "<tr>";
                                          echo 
                              "<td width=118 rowspan=4 valign=top><img src='images/install_welcome.gif' width='118' height='110' alt='Herzlich Willkommen'></td>";
                                          echo 
                              "<td width=12 rowspan=4>&nbsp;</td>";
                                          echo 
                              "<td width=620>&nbsp;</td>";
                                          echo 
                              "</tr><tr>";
                                          echo 
                              "<td class=tab-s>Script - Installation</td>";
                                          echo 
                              "</tr><tr>";
                                          echo 
                              "<td><img src='images/break.gif' width=100% height=1></td>";
                                          echo 
                              "</tr><tr>";
                                          echo 
                              "<td height=32 valign=top><br>Bevor Sie dieses Script nutzen k&ouml;nnen, m&uuml;ssen Sie
                                                      einige Parameter einstellen, sowie <br>
                                                      die Einstellungen f&uuml;r MySQL-Datenbank festlegen. Klicken
                                                      Sie bitte auf <font color=#000063><strong>Weiter</strong></font>.</td>"
                              ;
                                          echo 
                              "</tr>";
                                          echo 
                              "</table></td>";
                                      echo 
                              "<td width=40>&nbsp;</td>";
                                      echo 
                              "</tr></table>";
                                  echo 
                              "<br>";
                                  echo 
                              "<img src='images/break-el.gif' width='100%' height=1><br>";
                                  echo 
                              "<br><br>";
                                      echo 
                              "<form name='form1' method='post' action='step2.php'>";
                                      echo 
                              "<table width=100% border=0 cellspacing=0 cellpadding=0>";
                                      echo 
                              "<tr>";
                                      echo 
                              "<td width=40>&nbsp;</td>";
                                      echo 
                              "<td><table width=100% border=0 cellspacing=0 cellpadding=2>";
                                          echo 
                              "<tr>";
                                          echo 
                              "<td colspan=3><img src='images/icon-setup.gif'>&nbsp;<strong>Datenbank-Einstellungen</strong></td>";
                                          echo 
                              "</tr><tr>";
                                          echo 
                              "<td colspan=3><img src='images/break.gif' width='100%' height='1'></td>";
                                          echo 
                              "</tr><tr>";
                                          echo 
                              "<td width=20>&nbsp;</td>";
                                          echo 
                              "<td width=544><table width=100% border=0 cellspacing=10 cellpadding=0>";
                                              echo 
                              "<tr>";
                                              echo 
                              "<td width=130>DB-Host</td>";
                                              echo 
                              "<td><input type='text' style='WIDTH: 200px;' name='p_dbhost' value='localhost'></td>";
                                              echo 
                              "</tr>";
                                              echo 
                              "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                              echo 
                              "<tr>";
                                              echo 
                              "<td width=130>DB-Username</td>";
                                              echo 
                              "<td><input type='text' style='WIDTH: 200px;' name='p_dbuser'></td>";
                                              echo 
                              "</tr>";
                                              echo 
                              "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                              echo 
                              "<tr>";
                                              echo 
                              "<td width=130>DB-Name</td>";
                                              echo 
                              "<td><input type='text' style='WIDTH: 200px;' name='p_dbname'></td>";
                                              echo 
                              "</tr>";
                                              echo 
                              "<tr><td><img src='images/break.gif' width='100%' height='1'></td><td>&nbsp;</td></tr>";
                                              echo 
                              "<tr>";
                                              echo 
                              "<td width=130>DB-Passwort</td>";
                                              echo 
                              "<td><input type='password' style='WIDTH: 200px;' name='p_dbpass'></td>";
                                              echo 
                              "</tr>";
                                              echo 
                              "</table></td>";
                                      echo 
                              "<td width=40>&nbsp;</td>";
                                      echo 
                              "</tr><tr>";
                                      echo 
                              "<td colspan=3><img src='images/break.gif' width='100%' height='1'</td>";
                                      echo 
                              "</tr></table>";
                                  
                                      echo 
                              "</td>";
                                      echo 
                              "<td width=40>&nbsp;</td>";
                                      echo 
                              "</tr></table>";
                                  echo 
                              "<div align=right><br><br><img src='images/break-el.gif' width='100%' height='1'><br>";
                                  echo 
                              "<table width='100%' border=0 cellspacing=0 cellpadding=0>";
                                  echo 
                              "<tr>";
                                  echo 
                              "<td width=40>&nbsp;</td>";
                                  echo 
                              "<td><br><div align=right><input type='submit' name='p_absenden' value='Weiter'></div></td>";
                                  echo 
                              "<td width=40>&nbsp;</td>";
                                  echo 
                              "</tr></table>";
                                  echo 
                              "<div align='left'><br>";

                              }

                              //Footer
                              include('footer.inc.php');
                              ?>
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X