PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Öffnen und schreiben in eine DATEI


Soeren
02.12.2005, 09:40:20
Ich habe auf meinem Webspace eine Datei (config.php)

diese Datei ist wie folgt aufgebaut:
<?
$server="xxx";
$DB="xxx";
$user="xxx";
$pw="xxx";
mysql_connect($server,$user,$pw) or die
("Sorry, aber keine Verbindung moeglich");
mysql_select_db($DB) or die
("Die Datenbank existiert nicht");
?>

Nun möchte ich ein Formular entwerfen wo ich diese Daten ändern kann.
Ich steh gerade etwas auf dem Schlauch, vielleicht hat jemand von euch ja einen denk anstoss, wie ich das realisieren kann.

Danke schon mal im vorraus.

Damir
02.12.2005, 10:08:44
Hi,

man koennte es z.B. so machen:

Erstelle eine Datei connect.inc mit folgenden Inhalt:<?
$server="{SERVER}";
$DB="{DB}";
$user="{USER}";
$pw="{PW}";
mysql_connect($server,$user,$pw) or die
("Sorry, aber keine Verbindung moeglich");
mysql_select_db($DB) or die
("Die Datenbank existiert nicht");
?>

und dann einfach in deinem Code die neue Datei beschreiben:
<?PHP

$file = "connect.inc";

$fp = fopen ($file, "r");
$str = fread ($fp, filesize ($file));
fclose ($fp);

$str = @preg_replace('/{SERVER}/',$varServer,$str);
$str = @preg_replace('/{DB}/',$varDb,$str);
$str = @preg_replace('/{USER}/',$varUser,$str);
$str = @preg_replace('/{PW}/',$varPw,$str);

$fp = fopen("connect.php","w");
fputs($fp,$str);
fclose($fp);
?>

Wie immer habe ich es nicht getestet;-))

Bye Damir

Soeren
02.12.2005, 10:58:21
Danke Damir, werde es nachher mal testen.
Hoffe das klappt.

Damir
02.12.2005, 11:33:46
Hi,

bei mir ist die connect.php deine config.php

Bye Damir

Soeren
05.12.2005, 00:02:03
hab mir das jetzt endlich mal in Ruhe anschauen können und ich habe da ein paar fragen:

Was bedeutet diese .inc-Datei, ist das als Muster für die Enddatei zuverstehen?

Nun zu deinem 2. Code
Ich versuch ihn zu verstehen, bitte sagt mir ob ich damit richtig oder falsch liege, okay?

$file = "connect.inc";
Logisch *grins* legt die "Muster"-Datei fest?!? (Siehe Frage oben)

$fp = fopen ($file, "r");
Die Datei oben öffnen nur zum lesen (="r")

$str = fread ($fp, filesize ($file));
Datei auslesen?
fclose ($fp);
Datei wieder schließen?!

$str = @preg_replace('/{SERVER}/',$varServer,$str);
$str = @preg_replace('/{DB}/',$varDb,$str);
$str = @preg_replace('/{USER}/',$varUser,$str);
$str = @preg_replace('/{PW}/',$varPw,$str);
Werden hiermit die im Muster angegebenen Variablen ersetzt?
Nur welche Werte speichert er nun? $varServer, $varDb, etc. ???

$fp = fopen("connect.php","w");
fputs($fp,$str);
fclose($fp);

Die "End"-Datei öffnen, "beschreiben" und wieder schließen?

Ich hoffe ich liege mit meinen Vermutungen und Deutungen richtig...

Damir
05.12.2005, 00:18:11
Hi,

du hast alles richtig erkannt.

Ja, er ersetzt z.B. {PW} durch $varPW. In $str ist ja deine Musterdatei.

Bye Damir

Soeren
07.12.2005, 00:55:00
Super, klappt auch 1A...

eine Frage habe ich aber noch...

wie bekomme ich meine config.php so ausgelesen, dass er PW, Server, etc. in dem Formular anzeigt... geht das? ist das möglich?

Soeren
07.12.2005, 09:18:07
*lach* was bin ich blöd.. habs durhc ein INCLUDE ja schon drin *gfg*

Kann ich eigenetlich beim Includen das hier:
mysql_connect($server,$user,$pw) or die
("Sorry, aber keine Verbindung moeglich");
mysql_select_db($DB) or die
("Die Datenbank existiert nicht");
unterbnden?