Webdesign in Siegen

Variablen in Datei bearbeiten

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Variablen in Datei bearbeiten

Beitragvon Skywalker am 21.03.2008, 13:15

Ist es eigentlich möglich, wenn man Variablen in einer Datei hat, diese mit PHP zu bearbeiten?
z.B. in der Datei steht folgendes:

Code: Alles auswählen
<?php
$TEXT['heading'] = "bla";
$TEXT['content'] = "bli";
$TEXT['footer'] = "blo";
?>

Jetzt möchte ich den Wert der Variablen mit einem Formular ändern, sodass diese neuen Werte in die Datei geschrieben werden.

Ich hoffe ich habe mich verständlich genug ausgedrückt :lol:
Was ist ein??? BildBildBildBild??? auf atomarer Ebene?
Benutzeravatar
Skywalker
Mitglied
 
Beiträge: 59
Registriert: 13.03.2008

Re: Variablen in Datei bearbeiten

Beitragvon Basti am 21.03.2008, 14:41

Einzelne Teile der Datei zu verändern ist eigentlich nicht so ohne weiteres möglich.

Zum gleichen Ziel könntest du aber über zwei andere Wege kommen. Entweder erstellst du den gesamten Inhalt der Datei neu und veränderst gleich alle Variablen (wenn das gewünscht ist), oder du liest zuerst den alten Inhalt der Datei aus, speicherst ihn in einer Variable zwischen und ersetzt dann mit Hilfe von Regulären Ausdrücken einzelne Werte von Variablen.
Danach kannst du dann den modifizierten Inhalt wieder in die alte Datei schreiben.

Ansonsten würde sich je nachdem um was es sich handelt auch eine MySQL Tabelle lohnen, das wäre dann für dich wesentlich leichter und du könntest mit einfachen UPDATE Befehlen die jeweiligen Werte verändern.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1867
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Variablen in Datei bearbeiten

Beitragvon Avedo am 22.03.2008, 02:20

Naja das hört sich für mich stark nach einer config-Datei an. Ich hab da mal eine Idee zu. Lege eine Datei config.inc an, die nach folgendem Schema Aufgebaut ist.
Code: Alles auswählen
[var0] = "Inhalt von var0";
[var1] = "Inhalt von var1";
[var2] = "Inhalt von var2";
[var3] = "Inhalt von var3";
[var4] = "Inhalt von var4";

Die Datei kannst du nun via file() zeilenweise in ein Array einlesen. Mit einem Regex kannst du nun nach den in [] stehenden Namen der Variabeln und nach dem nach dem = kommenden Inhalt dieser Variablen suchen. Das speicherst du nun in einer for()-Schleife in Variabeln ab und packst diese in ein Formular. Da kann man nun wild daran arbeiten. Wenn du das Formular abschickst, machst du das ganze einfach rückwärts mit foreach().
Und fertig ist der Salat. Etwas stressig und vielleicht auch umständlich, aber besser ist es mir gerade nicht eingefallen. Vielleicht kann dir ja noch jemand das Regex geben und du bastelst noch eine schöne Funktion getConfig().
Wünsche dir viel Glück. Wenn du Hilfe brauchst einfach nochmal melden.
MfG, Andy
Ich bin zu Mimis Religion konvertiert!
I'm so tired of slitting the throats of people calling me a violent psychopath.
Benutzeravatar
Avedo
Mitglied
 
Beiträge: 512
Registriert: 09.12.2007
Wohnort: Göttingen

Re: Variablen in Datei bearbeiten

Beitragvon Skywalker am 22.03.2008, 16:20

mh ich glaub ich werd eher in einer for()-Schleife für jede Variable eine Textbox ausgeben und wenn man das Forumular dann wieder abschickt alles wieder mittels fwrite() in die Datei zurückschreibt.

Es handelt sich hierbei um Spracheinstellungen. Die hab ich halt in de.php en.php fr.php usw. gepackt. Diese werden dann mittels include($_GET['lang'].'.php') eingebunden und dort wo dann text steht wird halt die Variable $TEXT['heading'] ausgegeben, die dann ja in allen Dateien vorhanden ist. Oder hat jemand ne Idee wie ich das besser machen könnte?
Hab mir auch überlegt, die ganzen Einstellungen in ne MySQL-Database schreiben zu lassen, sodass man sie von dort aus ändern kann...
Was ist ein??? BildBildBildBild??? auf atomarer Ebene?
Benutzeravatar
Skywalker
Mitglied
 
Beiträge: 59
Registriert: 13.03.2008


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste