Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.12 veröffentlicht (22.05.17)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
PHP Config Datei erstellen
#1
Exclamation 
Hallo,

ich bin dabei ein Script zu schreiben, allerdings sollen simple Einstellungen in einer config.php Datei gespeichert werden, Posts etc. in der Datenbank.

In der config Datei sind z.B. folgende Einträge:
PHP-Code:
$settings['bgcolor'] = "#669900";
$settings['bgcolor_book'] = "#669933";
$settings['width_book'] = "650";
$settings['bgcolor_o'] = "#DDB64B";
$settings['bgcolor_entry'] = "#fff";
$settings['color'] = "#fff"
usw...

Im Admincp sollen die Einstellungen gespeichert werden können. Klar ist, dass die Datei die Rechte dazu braucht (CHMOD).
Dann würde ich die Datei per fopen öffnen.
Wie kann ich ihm nur sagen, dass der bestimmte Stellen der Datei ändern soll, weil wenn er immer die ganze Datei neu schreiben würde könnte das ja ziemlich lange dauern.

Vielen Dank
mfg

Jetzt kostenlos eine Domain registrieren!!
Hier klicken: www.domains-for-free.de
Zitieren
#2
Kurze Antwort:
Geht nicht. Schreib die ganze Datei neu.

Lange Antwort:
Du kannst die Datei zwar in place mit seek() und write() überschreiben, nur gibt es da 2 Probleme. Zum einen musst du die richtige Stelle finden, d.h. erstmal doch die ganze Datei lesen. Zum anderen müssen, sobald sich die Länge eines Strings ändert (z.B. von "#fff" auf "#f6f5f4"), alle nachfolgenden Bytes in der Datei nach hinten verschoben werden, d.h. die Datei muss zumindest ab dieser Stelle neu geschrieben werden. Daher ist es in der Regel einfacher sich diese ganze Logik zu sparen und gleich die ganze Datei zu schreiben auch wenn es theoretisch nicht notwendig gewesen wäre.

Deine Bedenken zum ziemlich lange dauern kann man insofern zerstreuen, als daß der physikalische Schreibvorgang ja nur zeitversetzt geschieht. Durch den Dateisystemcache bekommst du sofort ein "ok" zurück, tatsächlich geschrieben wird dann irgendwann später. Wenn der Schreibvorgang zudem nur stattfindet, wenn jemand etwas im Admin CP ändert, also fast nie, ist es eh vollkommen egal wie lange das dauert.
Zitieren
#3
Ich würde an deiner Stelle die ganze Datei neu schreiben. Das kann nicht lange dauern und ist am wenigsten Aufwand.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#4
Vielen Dank. Dann werde ich das so machen.
mfg

Jetzt kostenlos eine Domain registrieren!!
Hier klicken: www.domains-for-free.de
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  config.php mehr als 1 superadmin xplay 4 1.319 30.03.2009, 13:53
Letzter Beitrag: StefanT
  [Erledigt] Apache2 config Dateien gesucht Jan 7 1.489 22.11.2006, 20:30
Letzter Beitrag: Michael