Home >Backend Development >PHP Tutorial >How to Write Data to INI Files with PHP?

How to Write Data to INI Files with PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 11:52:021013browse

How to Write Data to INI Files with PHP?

Manipulating INI Files Using PHP

INI files are commonly used for storing configuration settings. While PHP has limited native support for manipulating INI files, this task can be accomplished using custom code.

Creating and Writing to INI Files

To create a new INI file and write values to it, you can leverage user-defined functions like the following:

<code class="php">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 .= $key."[] = \"".$elem[$i]."\"\n";
                }
            }
            else if($elem=="") $content .= $key." = \n";
            else $content .= $key." = \"".$elem."\"\n";
        }
    }

    if (!$handle = fopen($path, 'w')) {
        return false;
    }

    $success = fwrite($handle, $content);
    fclose($handle);

    return $success;
}

Usage Example

To utilize this function, pass an associative array containing your desired INI values as the first argument, specify the desired path for the INI file as the second argument, and set $has_sections to TRUE if you want to organize the data into sections.

<code class="php">$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);</code>

This code will create a new INI file named data.ini in the current directory and populate it with the provided values organized into two sections, first and second.

The above is the detailed content of How to Write Data to INI Files with PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn