ホームページ  >  記事  >  バックエンド開発  >  PHP で INI ファイルを読み取り、書き込み、変更するにはどうすればよいですか?

PHP で INI ファイルを読み取り、書き込み、変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 20:16:31915ブラウズ

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

PHP での INI ファイルの読み取りと書き込み

Parse_ini_file は、PHP で INI ファイルを読み取るためによく使用されます。 INI ファイルを読み取るには:

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

特定の値にアクセスするには:

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

INI ファイルに書き戻すにはカスタム関数が必要です:

<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 flock を使用して排他的なファイル アクセスを保証します:

<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>

使用例:

<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>

以上がPHP で INI ファイルを読み取り、書き込み、変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。