| 
<?php
/***
 This example script reads the example.ini file, updates some values, and writes back the
 results to example.out.ini.
 
 Comments and formatting are preserved ; by running the diff command on the input and output
 files, you should see the following :
 
 $ diff example.ini example.out.ini
 14c14,15
 < LastUpdate    =  2015/01/01 17:40:00
 ---
 > LastUpdate    =  2015/10/01 14:16:07
 > Status = 0
 
 The LastUpdate parameter was updated with the current date/time, and the Status parameter
 was added.
 
 ***/
 require ( 'IniFile.class.php' ) ;
 
 if  ( php_sapi_name ( )  !=  'cli' )
 echo "<pre>" ;
 
 // Instanciate an IniFile object for file example.ini
 $inifile     =  IniFile::LoadFromFile ( 'example.ini' ) ;
 
 // Get the value of the Listen and Port parameters in the [Network] section
 // Note that you can specify a default value if the parameter is not defined
 $listen     =  $inifile -> GetKey ( 'Network', 'Listen', '127.0.0.0' ) ;
 $port         =  $inifile -> GetKey ( 'Network', 'Port' ) ;
 
 
 // ... do some processing
 
 // Processing done : update the LastUpdate parameter of the [Results] section then
 // add the Status parameter
 $inifile -> SetKey ( 'Results', 'LastUpdate', date ( 'Y/m/d H:i:s' ) ) ;
 $inifile -> SetKey ( 'Results', 'Status', 0 ) ;
 
 // Write the results back ; the "example.out.ini" file is specified just to give you
 // the possibility to compare the example.ini file contents before and after processing
 // You can simply write back "example.ini" by calling :
 //    $inifile -> Save ( ) ;
 // Note that in our case, you can specify either "true" or "false" for the $forced parameter
 // of the Save() method ; since we have called the SetKey() method to modify parameters, the
 // .ini file contents have been flagged as 'dirty' and will automatically be saved.
 $inifile -> Save ( true, 'example.out.ini' ) ;
 
 echo ( "example.ini file saved to example.out.ini, after changing the 'LastUpdate' and 'Status' settings of the [Results] section." ) ;
 echo ( "You can either edit this 'example.out.ini' file, or run the Unix diff command on both files to see the difference." ) ;
 
 |