Lecture et écriture de fichiers INI en PHP
Parse_ini_file est couramment utilisé pour lire des fichiers INI en PHP. Pour lire un fichier INI :
<code class="php">$ini_array = parse_ini_file("sample.ini"); print_r($ini_array);</code>
Pour accéder à des valeurs spécifiques :
<code class="php">echo $ini_array['lu_link']; echo $ini_array['footerbg'];</code>
La réécriture dans le fichier INI nécessite une fonction personnalisée :
<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 garantit un accès exclusif aux fichiers à l'aide de 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>
Exemple d'utilisation :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!