![]() |
Mit Php eine INI lesen, bzw in eine INI schreiben
Hallo,
meine Frage hat diesmal nix mit Delphi zu tun. Meine Frage ist diesmal zu PHP. Gibt es eine Funktion, einfache Möglichkeit mit PHP ini Dateien einzulesen? Also so wie in Delphi? Oder muss ich mir da selbst etwas zusammen basteln? Gruß, Ferby |
Re: Mit Php eine ini einlesen
Hallo,
da gibts schon was: ![]() Viele Grüße, Benjamin |
Re: Mit Php eine ini einlesen
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Internet / LAN / ASP.NET" nach "Programmieren allgemein" verschoben.
Da es nicht um Delphi geht, sondern um PHP, verschiebe ich\\\'s mal hier hin. |
Re: Mit Php eine ini einlesen
Danke für die schnelle Antwort :-)
|
Re: Mit Php eine ini einlesen
So jetzt noch eine Frage^^
gibt es auche etwas um in Ini Dateien reinzuschreiben? Also auch so wie in Delphi, sprich wenn ein Eintrag noch nicht existiert, das der Automatisch angelegt wird? |
Re: Mit Php eine ini einlesen
Moin,
![]() Beachte dabei den neueren Beitrag des Autors: Zitat:
PS: Ändere den Titel dann bitte so ab, dass du nach dem Lesen und Schreiben fragst. ;) |
Re: Mit Php eine INI lesen, bzw in eine INI schreiben
Hallo,
ich habe jetzt auf dieser Seite mir diese Function geholt
Code:
<?
function writeINIfile ($filename, $array1, $commentchar, $commenttext) { $handle = fopen($filename, 'wb'); if ($commenttext!='') { $comtext = $commentchar. str_replace($commentchar, "\r\n".$commentchar, str_replace ("\r", $commentchar, str_replace("\n", $commentchar, str_replace("\n\r", $commentchar, str_replace("\r\n", $commentchar, $commenttext) ) ) ) ) ; if (substr($comtext, -1, 1)==$commentchar && substr($commenttext, -1, 1)!=$commentchar) { $comtext = substr($comtext, 0, -1); } fwrite ($handle, $comtext."\r\n"); } foreach ($array1 as $sections => $items) { //Write the section if (isset($section)) { fwrite ($handle, "\r\n"); } //$section = ucfirst(preg_replace('/[\0-\37]|[\177-\377]/', "-", $sections)); $section = ucfirst(preg_replace('/[\0-\37]|\177/', "-", $sections)); fwrite ($handle, "[".$section."]\r\n"); foreach ($items as $keys => $values) { //Write the key/value pairs //$key = ucfirst(preg_replace('/[\0-\37]|=|[\177-\377]/', "-", $keys)); $key = ucfirst(preg_replace('/[\0-\37]|=|\177/', "-", $keys)); if (substr($key, 0, 1)==$commentchar) { $key = '-'.substr($key, 1); } $value = ucfirst(addcslashes($values,'')); fwrite ($handle, ' '.$key.' = "'.$value."\"\r\n"); } } fclose($handle); } ?> Leider kommt die Fehlermeldung Warning: Invalid argument supplied for foreach() in W:\www\iniwrite.fct on line 22 Zeile 22 ist
Code:
Ich kenne mich leider mit PHP zu wenig aus, und kann mit den Fehler nix anfangen, bzw. ws ich da ändern muss.
foreach ($array1 as $sections => $items) {
Vlt kann mir wer weiterhelfen, Gruß, Ferby |
Re: Mit Php eine INI lesen, bzw in eine INI schreiben
Hi
Zitat:
Code:
echo '<pre>'; print_r($dein_array); echo '</pre>';
|
Re: Mit Php eine INI lesen, bzw in eine INI schreiben
Hallo,
danke daran liegts. allerdings versteh ich die ganze funktion nicht wirklich. warum muss ich da einen Array übergeben? Ich hab das so verstanden: Wenn ich in der Datei "EventKalender.ini" den Eintrag hinzufügen will: [GruppeA] Event1=Samstag dann muss ich das so aufrufen: WriteIniFile("EventKalender.ini", "GruppeA" , "Event1", "Samstag"); allerdings stimmt das nicht, da ich ja einen Array übergeben muss. aber warum? für was ist den der Array da? |
Re: Mit Php eine INI lesen, bzw in eine INI schreiben
Vom Code her würde ich sagen, dass das Array ungefähr so aufgebaut sein muss:
Code:
array (
'GruppeA' => array( 'Event1' => Samstag, 'Event2' => Mittwoch ), 'GruppeB' => array( 'Event1' => Donnerstag ) ) |
Re: Mit Php eine INI lesen, bzw in eine INI schreiben
auf Pr0g.net gibt es eine Klasse in php die wie die Klasse TIniFile aufgebaut ist, einfach mal suchen.
mfg, Björn Edit: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz