PHP Config Datei
|
Verfasser |
Nachricht |
|
Beiträge: 207
Bewertung: 6
Registriert seit: Jul 2012
Status:
offline
|
PHP Config Datei
Hallo,
ich bin gerade dabei, mein Wissen in PHP zu erweitern, und bin gerade an einem Thema angekommen wo ich nicht weiter weiß. Und zwar, wenn man zB. Wordpress oder andere Webanwendungen installiert, muss man da meistens unter anderem die SQL Daten eingeben. Diese werden dann in einer Datei gespeichert, und das ist es, was ich gerade lernen will. Eine Datei zu erstellen, und da ein paar Werte einspeichern ist kein Problem für mich, allerdings weiß ich nicht, wie ich es machen soll, wenn man später irgendwann nur einen, oder nur ein paar Werte ändern möchte. Ich habs bis jetzt mit einer .ini Datei versucht, da es dafür die nette parse_ini_file() Funktion gibt, mit der man alle Werte bequem auslesen kann. Jetzt kommt meine Frage, und zwar ob es eine Funktion gibt, mit der man einen Wert in der beispiel.ini Datei ändern kann, und falls nicht, wie man es sonst machen kann.
Ich hoffe dass ihr mir helfen könnt.
LG, David
PS: Bevor mir jemand einen igtfy Link schickt, möchte ich erwähnen dass ich schon gegoogelt hab, und ich größtenteils nur Infos gefunden hab wie man die php.ini Datei ändern kann.
[Link: Registrierung erforderlich]
|
|
20.08.2013 15:20 |
|
|
Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status:
offline
|
RE: PHP Config Datei
wie wärs mit stinkeinfachen fopen und fwrite befehlen?
|
|
20.08.2013 15:22 |
|
|
Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status:
offline
|
|
20.08.2013 15:31 |
|
|
Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status:
offline
|
RE: PHP Config Datei
JSON ist was ganz anderes, hat mit Config-Dateien garnichts zutun.
Ich hätte es über ini wie du bereits sagtest gemacht, oder als alternative ist auch YAML zu emfehlen. Ansonsten kannst du auch Einstellungen welche du immer mal wieder ändern musst also DRINGEND im Adminpanel ändern kannst über die Datenbank regeln.
PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4
|
|
20.08.2013 16:36 |
|
|
Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status:
offline
|
RE: PHP Config Datei
JSON ist was ganz anderes, hat mit Config-Dateien garnichts zutun.
oder als alternative ist auch YAML zu emfehlen
Willst du mich verarschen D? Und außerdem ist der YAML parser viel langsamer als der JSON
ich persönlich würde es über eine klasse machen mit statischen methoden und eine Methode noch mit [Link: Registrierung erforderlich] knüpfen um die einstellungen in der Datei zu speichern
Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 17:08 von Sysix.
|
|
20.08.2013 17:07 |
|
|
Beiträge: 287
Registriert seit: Feb 2012
Status:
offline
|
RE: PHP Config Datei
Ich würde es ebenfalls mit einem einfachem Dateizugriff via fopen und fwrite versuchen und dann die jeweiligen Daten in eine php config Datei speichern.
Später kann man dann die Daten wieder relativ leicht verändern.
MfG
Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 18:43 von Mr-Trust.
|
|
20.08.2013 18:41 |
|
|
Beiträge: 1.056
Bewertung: 155
Registriert seit: Jul 2011
Status:
offline
|
RE: PHP Config Datei
Wenn du eine *.ini in ein Array stecken kannst, dann kannst du das Array natürlich auch in eine *.ini stecken.
function write_ini_file($assoc_arr, $path, $has_sections=FALSE) { $content = ""; if ($has_sections) { foreach ($assoc_arr as $key=>$elem) { $content .= "[".$key."]\n"; foreach ($elem as $key2=>$elem2) { if(is_array($elem2)) { for($i=0;$i<count($elem2);$i++) { $content .= $key2."[] = \"".$elem2[$i]."\"\n"; } } else if($elem2=="") $content .= $key2." = \n"; else $content .= $key2." = \"".$elem2."\"\n"; } } } else { foreach ($assoc_arr as $key=>$elem) { if(is_array($elem)) { for($i=0;$i<count($elem);$i++) { $content .= $key2."[] = \"".$elem[$i]."\"\n"; } } else if($elem=="") $content .= $key2." = \n"; else $content .= $key2." = \"".$elem."\"\n"; } }
if (!$handle = fopen($path, 'w')) { return false; } if (!fwrite($handle, $content)) { return false; } fclose($handle); return true; }
Benutzt wird es wie folgt:
$sampleData = array( 'first' => array( 'first-1' => 1, 'first-2' => 2, 'first-3' => 3, 'first-4' => 4, 'first-5' => 5, ), 'second' => array( 'second-1' => 1, 'second-2' => 2, 'second-3' => 3, 'second-4' => 4, 'second-5' => 5, )); write_ini_file($sampleData, './data.ini', true);
Alternativ einfach hier mal weiter lesen, gibt es viele inoffizielle Funktionen:
[Link: Registrierung erforderlich]
Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 18:52 von Darkwave.
|
|
20.08.2013 18:51 |
|
|