Variablen aus cfg file lesen ???wie???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablen aus cfg file lesen ???wie???

    hy...

    hab da mal ein Problem aber ich komm da net weiter habe auch schon in im Handbuch geschaut find aber nix...

    mein Problem:

    ich möchte gerne die MySQL Daten aus einem Config file auslesen....
    Code:
    File mysql.cfg
    
    $dbuser="root"
    $dbuser_pass="root"
    $usedb="mysql"
    $dbserver="localhost"
    und dann als variablen in PHP zu verfügung haben ???
    ich weis ich könnte auch ein PHP file nehmen und dann mir per include die Variablen rein holen...

    so möchte ich es aber garnicht...haben...

    PS Falls noch jemand ...gleich noch weis wie ich die Variable in der Text Datei ändern kann...wäre das richtig super...

    THX & mfg
    Jointy

  • #2
    PHP Code:
    <?
    // File mysql.inc.php
    $dbuser="root";
    $dbuser_pass="root";
    $usedb="mysql";
    $dbserver="localhost";
    ?>
    PHP Code:
    <?
    // File skript.das.mysql.inc.php.aufruft.php
    include ("mysql.inc.php"); // <-- da passiert's
    print "dbuser:$dbuser<br>\n";
    ?>

    Ups war ein Blödsinn, das wolltest Du ja gar nicht. Meinen Thread kann ich leider nicht löschen, deshalb lasse ich es stehen. Ich weiß aber nicht wie Du es gerne hättest, versteh das nicht ganz.

    Vielleicht File mit
    readfile() lesen
    Das array zeilenweise durchschleifen.
    mit explode() die Zeile nach dem = trennen
    die " und die ; entfernen
    usw?
    Last edited by hand; 27-12-2002, 08:06.

    Comment


    • #3
      hy...

      das mit dem readfile() da bin ich jetzt bei...

      wenn ich die Lösung komplett hab Poste ich sie nochmal !!!

      cya Jointy

      Comment


      • #4
        Ja mit readfile() lesen waere sicherlich ne ganz gute Idee.

        Geht aber auch mit eval() ... wobei das der include Loesung verdaechtig nahekommt ... aber kannst dir ja mal angucken:

        PHP Code:
        config.cfg:

        // Benutzer
        $dbuser="root";
        // Passwort
        $dbuser_pass="root";
        // Datenbank
        $usedb="mysql";
        // Server
        $dbserver="localhost";


        config.php:

        <?php

        $config 
        join("",file("config.cfg"));

        eval(
        $config);

        echo 
        "dbuser      : ".$dbuser."<br>";
        echo 
        "dbuser_pass : ".$dbuser_pass."<br>";
        echo 
        "usedb       : ".$usedb."<br>";
        echo 
        "dbserver    : ".$dbserver."<br>";

        ?>
        Man muss in der Config-Datei halt nur auf syntaktische Richtigkeit achten ... aber das musst du auch wenn du es mit readfile() machst ...

        Comment


        • #5
          hy...

          habe auch meine eigene Lösung !!!

          auch hier ist die Syntax der cfg datei festgelegt

          mysql.cfg

          Zeile:1>$dbuser root
          Zeile:2>$dbuser_pass root
          Zeile:3>$usedb mysql
          Zeile:4>$dbserver localhost
          Zeile:5-n>// Kommentar
          PHP Code:
          mysql.php

          $db_data
          =get_cfg();
          $dbserver=$db_data[dbserver];
          $dbuser=$db_data[dbuser];
          $dbuser_pass=$db_data[dbuser_pass];
          $usedb=$db_data[usedb];

          $link=mysql_connect($dbserver,$dbuser,$dbuser_pass) or die (mysql_error());
          mysql_select_db($usedb) or die(mysql_error());


          function 
          get_cfg(){
              include(
          'extension.inc');
              
          $filename=$root_path.'cfg/mysql.'.$cfgEX;
              
          $fd=fopen($filename,"r")or die ('Kann die Datei '.$root_path.'cfg/mysql.'.$cfgEX.' nicht finden/öffnen !!!');
              
          $buffer1=file($filename);
              
          //(dbuser) Liest die erste Zeile ein und teilt den String an Hand der Leerzeichen in Arrays auf !!!
              
          $buffer2=explode(" ",$buffer1[0]);
              
          //(dbuser) Holt sich das zweite Array und entfernt Leerzeichen und Tabulatoren
              
          $dbuser=chop($buffer2[1]);

              
          //(dbuser_pass)
              
          $buffer3=explode(" ",$buffer1[1]);
              
          $dbuser_pass=chop($buffer3[1]);

              
          //(usedb)
              
          $buffer4=explode(" ",$buffer1[2]);
              
          $usedb=chop($buffer4[1]);

              
          //(dbserver)
              
          $buffer5=explode(" ",$buffer1[3]);
              
          $dbserver=chop($buffer5[1]);

              
          //Erstellt ein Array mit den 4 Werten !!
              
          $db_data_array=array( dbuser => $dbuserdbuser_pass => $dbuser_passusedb => $usedbdbserver => $dbserver );

              return 
          $db_data_array;

          aber die Lösung von BlobBanana klingt auch nicht schlecht..

          THX schonma für die Postings

          mfg Jointy

          Comment

          Working...
          X