Cita:
Iniciado por pateketrueke
puedes crear un INI a partir de un arreglo asociativo... es muy fácil
Código PHP:
<?php
$arreglo = array(
'cuenta'=>array('nick'=>'alguno','pass'=>'encriptame'),
'opciones'=>array('encriptar'=>1,'ip'=>'127.0.0.1')
);
/**
* (datos[, archivo])
*
* Devuelve y/o escribe formato INI desde un arreglo
*/
function ini($data, $file = null)
{
$output = array(); // el INI
foreach ($data as $name => $section)
{
if (is_array($section))
{
$output[] = "[{$name}]"; // [foo]
foreach ($section as $key => $val)
{
$output[] = "$key=$val"; // foo=bar
} // agregamos un salto de linea
$output[]='';
}
}
// pegamos el INI
$ini = join("\n", $output);
if ($file && is_dir(dirname($file)))
{
$tmp = fopen($file, 'w+');
fwrite($tmp, $ini);
fclose($tmp);
}
return $ini;
}
// ej.
echo ini($arreglo);
?>
y listo, ini() devuelve el arreglo, en este formato... solo resta que guardes esta variable en un archivo de texto... suerte!
Muy interesante el script, ahora tengo una consulta: ¿de que manera podria modificar el array para agregar como parametros a los
comentarios del tipo ini, o sea, los punto y coma (
;)?
ejemplo:
[BASE_DATOS]
; tipo de motor de base de datos: mysql, pgsql
driver = pgsql
; permitir conexiones persistentes: true | false
persistent = false
; direccion del host al que apunta el sistema
host = localhost
; usuario base de datos
user = root
; contraseña del usuario
password = 12345
; nombre de la base de datos
database = sistemas
; prefijo usado para el nombre de las tablas
prefix = pg_