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

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

  • 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?
    Zuletzt geändert von hand; 27.12.2002, 08:06.

    Kommentar


    • #3
      hy...

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

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

      cya Jointy

      Kommentar


      • #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 ...

        Kommentar


        • #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

          Kommentar

          Lädt...
          X