Rechercher une fonction PHP

parse_ini_file

(PHP 4, PHP 5, PHP 7)

parse_ini_fileParst eine Konfigurationsdatei

Beschreibung

parse_ini_file ( string $filename [, bool $process_sections = FALSE [, int $scanner_mode = INI_SCANNER_NORMAL ]] ) : array

parse_ini_file() lädt die in filename angegebene Datei, und gibt die darin enthaltenen Einstellungen in einem assoziativen Array zurück.

Die Struktur der Ini-Datei ist identisch zur php.ini.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Parameter-Liste

filename

Der Dateiname der zu ladenden ini-Datei.

process_sections

Setzt man den Parameter process_sections auf TRUE, erhält man ein mehrdimensionales Array mit den Gruppennamen und Einstellungen. Der Standardwert für process_sections ist FALSE

scanner_mode

Kann entweder INI_SCANNER_NORMAL (Standard) oder INI_SCANNER_RAW sein. Ist INI_SCANNER_RAW gesetzt, so werden die Werte der Optionen nicht geparst.

Seit PHP 5.6.1 kann auch INI_SCANNER_TYPED angegeben werden. In diesem Modus werden soweit möglich die Typen von Boolean-, Null- oder Integer-Werten beibehalten. Die Zeichenketten "true", "on" und "yes" werden zu TRUE konvertiert. "false", "off", "no" und "none" werden als FALSE angesehen. "null" wird in diesem Modus zu NULL. Soweit möglich werden alle numerischen Zeichenketten zu Integertypen umgewandelt.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Rückgabewerte

Im Erfolgsfall werden die Einstellungen als assoziatives Array zurückgegeben, ansonsten FALSE.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Changelog

Version Beschreibung
7.0.0 Das Raute-Symbol (#) kann nicht mehr für Kommentare verwendet werden.
5.6.1 Neuen Modus INI_SCANNER_TYPED hinzugefügt.
5.3.0 Der optionale Parameter scanner_mode wurde hinzugefügt. Einfache Anführungszeichen können nun um Variablenzuordnungen herum verwendet werden. Rautezeichen (# können nicht länger für Kommentare verwendet werden und bei Verwendung wird eine Warnung zur veralteten Benutzung ausgegeben.
5.2.7 Bei einem Syntaxfehler gibt die Funktion nun FALSE statt eines leeren Array zurück.
5.2.4 Schlüssel und Gruppennamen mit Ziffern werden nun als Integer von PHP ausgewertet, weshalb Zahlen, die mit einer 0 beginnen, als Oktalzahlen und Zahlen, die mit 0x beginnen, als Hexadezimalzahlen verstanden werden.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Beispiele

Beispiel #1 Inhalt der sample.ini

; Dies ist ein Beispiel für eine Konfigurationsdatei
; Kommentare beginnen wie in der php.ini mit ';'

[erste_gruppe]
eins = 1
fünf = 5
tier = VOGEL

[zweite_gruppe]
pfad = /usr/local/bin
URL = "http://www.example.com/~username"

[dritte_gruppe]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

urls[svn] = "http://svn.php.net"
urls[git] = "http://git.php.net"

Beispiel #2 parse_ini_file()-Beispiel

Konstanten in einer Ini-Datei können ebenfalls geparst werden indem man eine Konstante als INI-Wert definiert, bevor parse_ini_file() aufgerufen wird. Dieser Wert wird in die Ergebnisse integriert, dabei werden nur INI-Werte ausgewertet. Zum Beispiel:

<?php

define 
('VOGEL''Amsel');

// Ohne Gruppen analysieren
$ini_array parse_ini_file("sample.ini");
print_r($ini_array);

// Mit Gruppen analysieren
$ini_array parse_ini_file("sample.ini"TRUE);
print_r($ini_array);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [eins] => 1
    [fünf] => 5
    [tier] => Amsel
    [pfad] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

    [urls] => Array
        (
            [svn] => http://svn.php.net
            [git] => http://git.php.net
        )
)
Array
(
    [erste_gruppe] => Array
        (
            [eins] => 1
            [fünf] => 5
            [tier] => Amsel
        )

    [zweite_gruppe] => Array
        (
            [pfad] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [dritte_gruppe] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

            [urls] => Array
                (
                    [svn] => http://svn.php.net
                    [git] => http://git.php.net
                )

      )


)

Beispiel #3 parse_ini_file() parst eine php.ini

<?php
    
// Eine einfache Funktion, um das Ergebnis zu vergleichen
    
function janein($expression)
    {
        return(
$expression 'Ja' 'Nein');
    }

    
// Pfad der php.ini mittels der Funktion php_ini_loaded_file()
    // holen, die seit PHP 5.2.4 verfügbar ist
    
$ini_path php_ini_loaded_file();

    
// Parsen der php.ini
    
$ini parse_ini_file($ini_path);

    
// Werte ausgeben und vergleichen. Beachten Sie dass die Verwendung von
    // get_cfg_var() die gleichen Ergebnisse für geparste und geladene
    // Werte geben wird
    
echo '(geparst) magic_quotes_gpc = ' janein($ini['magic_quotes_gpc']) . PHP_EOL;
    echo 
'(geladen) magic_quotes_gpc = ' janein(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
    
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

    (geparst) magic_quotes_gpc = Ja
    (geladen) magic_quotes_gpc = Nein
    

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Anmerkungen

Hinweis:

Diese Funktion hat nichts mit dem Laden der php.ini-Datei zu tun. Diese ist zum Ausführungszeitpunkt Ihres Skriptes bereits vollständig verarbeitet. Diese Funktion kann verwendet werden, um die Konfigurationsdateien Ihrer eigenen Anwendung zu lesen.

Hinweis:

Falls ein Wert der Ini-Datei ein nicht alphanumerisches Zeichen enthält muss dieser Wert in doppelte Anführungszeichen (") eingeschlossen werden.

Hinweis: Es gibt reservierte Schlüsselwörter, welche nicht als Schlüssel in Ini-Dateien verwendet werden dürfen. Diese umfassen: null, yes, no, true, false, on, off, none. Die Werte null, off, no und false ergeben "" und die Werte on, yes and true ergeben "1", solange der Modus INI_SCANNER_TYPED nicht verwendet wird (seit PHP 5.6.1). Die Zeichen ?{}|&~!()^" dürfen in einem Schlüssel nicht verwendet werden und haben im Wert besondere Bedeutung.

Hinweis:

Einträge ohne Gleichheitszeichen werden ignoriert. Beispielsweise würde "foo" ignoriert werden, während "bar =" geparst und mit einem leeren Wert hinzugefügt würde. Beispielsweise hat MySQL eine Einstellung "no-auto-rehash" in der my.cnf welche keinen Wert enthält und somit ignoriert würde.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Siehe auch

Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.parse-ini-file.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut