Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit Php eine INI lesen, bzw in eine INI schreiben (https://www.delphipraxis.net/90631-mit-php-eine-ini-lesen-bzw-eine-ini-schreiben.html)

ferby 20. Apr 2007 21:26


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

BenjaminH 20. Apr 2007 21:27

Re: Mit Php eine ini einlesen
 
Hallo,
da gibts schon was:
http://de.php.net/manual/de/function.parse-ini-file.php
Viele Grüße,
Benjamin

mkinzler 20. Apr 2007 21:28

Re: Mit Php eine ini einlesen
 
http://pear.php.net/package/Config

DP-Maintenance 20. Apr 2007 21:33

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.

ferby 20. Apr 2007 21:39

Re: Mit Php eine ini einlesen
 
Danke für die schnelle Antwort :-)

ferby 20. Apr 2007 22:38

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?

Matze 21. Apr 2007 06:18

Re: Mit Php eine ini einlesen
 
Moin,

dieser Beitrag könnte dich interessieren.

Beachte dabei den neueren Beitrag des Autors:

Zitat:

The incorrect statement is:

if (substr($comtext, -1, 1)==$commentchar && substr($comtext, -1, 1)!=$commentchar) {

Note that this is a logic error and the statement will never execute. It should have been written as:

if (substr($comtext, -1, 1)==$commentchar && substr($commenttext, -1, 1)!=$commentchar) {

Notice how in the corrected statement, the string passed to the second substr() function call is $commenttext and not $comtext.

PS: Ändere den Titel dann bitte so ab, dass du nach dem Lesen und Schreiben fragst. ;)

ferby 22. Apr 2007 09:23

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:
foreach ($array1 as $sections => $items) {
Ich kenne mich leider mit PHP zu wenig aus, und kann mit den Fehler nix anfangen, bzw. ws ich da ändern muss.

Vlt kann mir wer weiterhelfen,

Gruß,
Ferby

Matze 22. Apr 2007 09:40

Re: Mit Php eine INI lesen, bzw in eine INI schreiben
 
Hi

Zitat:

Zitat von ferby
Leider kommt die Fehlermeldung
Warning: Invalid argument supplied for foreach() in W:\www\iniwrite.fct on line 22
Zeile 22 ist
Code:
foreach ($array1 as $sections => $items) {
Ich kenne mich leider mit PHP zu wenig aus, und kann mit den Fehler nix anfangen, bzw. ws ich da ändern muss.

Die Meldung besagt, dass du ein ungültiges Array übergibst. Wie sieht denn der Inhalt des $array1-Parameters aus? Anzeigen lassen kannst du dir den Array-Inhalt so:

Code:
echo '<pre>'; print_r($dein_array); echo '</pre>';

ferby 22. Apr 2007 11:07

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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz