Forum und email

parse_ini_file

(PHP 4, PHP 5)

parse_ini_file — Interpreta um arquivo de configuração

Descrição

array parse_ini_file ( string $filename [, bool $process_sections ] )

parse_ini_file() carrega o arquivo INI especificado em filename e retorna as configurações contidas nele em um array associativo.

A estrutura do arquivo INI é a mesma do php.ini.

Parâmetros

filename

O nome do arquivo INI sendo interpretado.

process_sections

Definindo o último parâmetro process_sections como TRUE, você recupera um array multidimensional com o nome das seções e configurações inclusas. O padrão para process_sections é FALSE

Valor Retornado

As configurações são retornadas como um array associativo.

Histórico

Versão Descrição
5.2.4 Chaves e nomes de seção que consistem de números, agora são interpretados como inteiros, de forma que números iniciados por 0 são interpretados como octais e números iniciados por 0x são interpretados como hexadecimais.
5.0.0 Valores envolvidos em aspas duplas podem conter novas linhas.
4.2.1 Esta função agora é afetada por safe mode e open_basedir.

Exemplos

Example#1 Conteúdo de sample.ini

; Este é um arquivo de configuração de exemplo
; Comentários iniciam com ';', como no php.ini

[primeira_secao]
um = 1
cinco = 5
animal = PASSARO

[segunda_secao]
path = "/usr/local/bin"
URL = "https://www.example.com/~username"

Example#2 Exemplo de parse_ini_file()

Constantes também podem ser interpretadas no arquivo INI, então se você definir uma constante como um valor INI antes de executar parse_ini_file(), ela será integrada ao resultado. Somente valores INI são avaliados. Por exemplo:

<?php

define
('PASSARO''Pássaro Dodo');

// Interpreta sem as seções
$ini_array parse_ini_file("sample.ini");
print_r($ini_array);

// Interpreta com as seções
$ini_array parse_ini_file("sample.ini"true);
print_r($ini_array);

?>

O exemplo acima irá imprimir algo similar a:

Array
(
    [um] => 1
    [cinco] => 5
    [animal] => Pássaro Dodo
    [path] => /usr/local/bin
    [URL] => https://www.example.com/~username
)
Array
(
    [primeira_secao] => Array
        (
            [um] => 1
            [cinco] => 5
            [animal] = Dodo bird
        )

    [segunda_secao] => Array
        (
            [path] => /usr/local/bin
            [URL] => https://www.example.com/~username
        )

)

Notas

Nota: Essa função não tem nada a ver com o arquivo php.ini. Ele já está processado no momento em que você executa seu script. Esta função pode ser usada para ler os arquivos de configuração da sua própria aplicação.

Nota: Se um valor no arquivo INI tiver algum caractere não alfanumérico, ele precisará ser envolvido em aspas duplas (").

Nota: Existem algumas palavras reservadas que não podem ser usadas como chaves em arquivos INI. Elas incluem: null, yes, no, true e false. Valores null, no e false retornam como "", yes e true retormam como "1". Os caracteres {}|&~![()" não podem ser usados em lugar algum na chave e têm significado especial no valor.