Editing a (config) file

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I have a file with some configation in it... I am wondering how I
correct single values in there.

The most secure is to recreate the file, then rename it.

But is there a way to correct a line in the text file?
setting1=bla -> setting1=blablabla

Needless to say, there are things in there I'd like to keep at all


Re: Editing a (config) file

Sonnich schrieb:
Quoted text here. Click to load it

You could use preg_replace() (have a look at php.net).

For your Example it could be

//Read the contents of the file into $file

$file=preg_replace("'setting1\=.*'", "setting1=blablabla", $file);

//Write $file back to the file.

Or do I misunderstand your question?

Re: Editing a (config) file

Sonnich wrote:
Quoted text here. Click to load it

I would read the file into an associative array, update the value based
on the key, write a new file, rename it to the original. I might also
flock() the original configuration file if the operating system does not
support atomic rename/move.


Re: Editing a (config) file

*** Sonnich escribió/wrote (7 Jul 2006 01:55:03 -0700):
Quoted text here. Click to load it

You may find parse_ini_file() useful:

array parse_ini_file ( string filename [, bool process_sections] )

parse_ini_file() loads in the ini file specified in filename, and returns
the settings in it in an associative array. By setting the last
process_sections parameter to TRUE, you get a multidimensional array, with
the section names and settings included. The default for process_sections
is FALSE  

-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com

Site Timeline