Heim >Backend-Entwicklung >PHP-Tutorial >Wie lese, schreibe und ändere ich INI-Dateien in PHP?

Wie lese, schreibe und ändere ich INI-Dateien in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 20:16:31962Durchsuche

How to Read, Write, and Modify INI Files in PHP?

INI-Dateien in PHP lesen und schreiben

Parse_ini_file wird häufig zum Lesen von INI-Dateien in PHP verwendet. So lesen Sie eine INI-Datei:

<code class="php">$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);</code>

Um auf bestimmte Werte zuzugreifen:

<code class="php">echo $ini_array['lu_link'];
echo $ini_array['footerbg'];</code>

Das Zurückschreiben in die INI-Datei erfordert eine benutzerdefinierte Funktion:

<code class="php">function write_php_ini($array, $file)
{
    $res = [];
    foreach ($array as $key => $val) {
        if (is_array($val)) {
            $res[] = "[$key]";
            foreach ($val as $skey => $sval) {
                $res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"');
            }
        } else {
            $res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"');
        }
    }
    safefilerewrite($file, implode("\r\n", $res));
}</code>

Safefilerewrite stellt exklusiven Dateizugriff mit Flock sicher:

<code class="php">function safefilerewrite($fileName, $dataToSave)
{
    if ($fp = fopen($fileName, 'w')) {
        $startTime = microtime(TRUE);
        do {
            $canWrite = flock($fp, LOCK_EX);
            if (!$canWrite) {
                usleep(round(rand(0, 100) * 1000));
            }
        } while ((!$canWrite) && ((microtime(TRUE) - $startTime) < 5));

        if ($canWrite) {
            fwrite($fp, $dataToSave);
            flock($fp, LOCK_UN);
        }
        fclose($fp);
    }
}</code>

Beispielverwendung:

<code class="php">$ini_array = parse_ini_file("sample.ini");

$ini_array['lu_link'] = '#F00';
$ini_array['footerbg'] = '#FFF';

write_php_ini($ini_array, "sample.ini");</code>

Das obige ist der detaillierte Inhalt vonWie lese, schreibe und ändere ich INI-Dateien in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn