Foros del Web » Programando para Internet » PHP »

Como se lee un archivo de configuracion

Estas en el tema de Como se lee un archivo de configuracion en el foro de PHP en Foros del Web. Buenas a Todos y espero que me puedan ayudar. Tengo un archivo.INI en el cual se configurara la instalacion del Servicio echo en PHP para ...
  #1 (permalink)  
Antiguo 15/04/2003, 09:55
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Como se lee un archivo de configuracion

Buenas a Todos y espero que me puedan ayudar.
Tengo un archivo.INI en el cual se configurara la instalacion del Servicio echo en PHP para unos clientes.
El sistema PHP que he creado es para que los clientes puedan consultar en su base de datos los trabajos realizados de altas bajas y modificaciones por fecha, usuario, puesto etc.
Como en cada cliente para que puedan utilizar el sistema se tendra que cambiar la variable del Servidor y otras variables mas de configuracion eh creado un archivo de configuracion .INI pero me trave en el momento de leerlo y tomar las variables.
por ejemplo

cfg_ejemplo.ini
------------------------------------------------------
;Archivo de configuración de CLiente1

;conexion a la base de datos (consulta)
;con_dbc=SERVER1
con_dbc=SERVER2

;cantidad de registros por página por defecto
reg_por_pag=12

;longitud del campo sucursal
long_suc=4

;longitud del campo clase
long_cla=1

;longitud del campo tipo de cuenta
long_tip_cta=2

-----------------------------------------------------
Hay una forma inteligente de leer este archivo INI con PHP, o hay que hacer una que lea linea por linea reconociendo los ; salto de carro, espacios en blanco etc.
Y la forma que encontre no me convence.
  #2 (permalink)  
Antiguo 15/04/2003, 10:35
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Perdon pero me olvide que esta pregunta me la havia contestado Cluster anteriormente pero igual me queda una pregunta
Yo el archivo INI lo leo

Código PHP:
<?php

// Parse without sections
$ini_array parse_ini_file("cfg_ejemplo.ini");
print_r($ini_array);

// Parse with sections
$ini_array parse_ini_file("cfg_ejemplo.ini"TRUE);
print_r($ini_array);

?>

y me devuelve como resultado

Array ( [con_dbc] => SERVER2 [reg_por_pag] => 12 [long_suc] => 4 [long_cla] => 1 [long_tip_cta] => 2 ) Array ( [first_section] => Array ( [con_dbc] => SERVER2 [reg_por_pag] => 12 [long_suc] => 4 [long_cla] => 1 [long_tip_cta] => 2 ) )


Como leo el Array para guardar los valores de configuracion en una variable o tomar el valor de un campo solo del array por ejemplo con_dbc
Saludos y gracias por la ayuda
  #3 (permalink)  
Antiguo 15/04/2003, 11:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si te fijas en PHP.net .. (en el manual de PHP) .. lo que hace print_r() .. veras que eso es solo un ejemplo para que veas q estas leyendo ese .ini ...

Olvidate del print_r() y quedate con el array: $ini_array()

Si te das cuenta a su vez .. ese array es un array bidimensinal (unidimensional) asociativa .. si usas el 'TRUE' como parámetro del parse_ini_file() ... lo cual le indica que generera arrays para las "sub-secciones" ...

Si tu .INI no es tan complejo .. o no te quires complicar tu mismo .. NO uses el 'TRUE' .. usa el primer ejemplo de dos que que pusites:

Código PHP:
<?
// Parse without sections
$ini_array parse_ini_file("cfg_ejemplo.ini");
?>
Con eso (sin el true) obtendas un array unidimensional tipo:
$ini_array['nombre_variable']='valor';
$ini_array['nombre_variable2']='valor';
$ini_array['nombre_variable3']='valor';

Ahora, si quieres esos "indices" del array como $variables con su valor asignado .. deberas usar "Variables variables" para generar esas variables:

Por ejemplo:

Código PHP:
foreach($ini_array as $variable=> $valor){
   ${
$variable}=$valor;

Así ya podras usar tus $nombre_variable_en_tu_ini=valor que le des ..

mas info sobre "Variable variables":
http://www.php.net/manual/en/languag...s.variable.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.