Foros del Web » Programando para Internet » PHP »

Crear archivo .INI con datos

Estas en el tema de Crear archivo .INI con datos en el foro de PHP en Foros del Web. Hola a todos Les cuento, estoy creando la Web de mi juego en PHP, y quiero que tenga la posibilidad de crear Cuentas desde la ...
  #1 (permalink)  
Antiguo 15/06/2008, 23:06
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Crear archivo .INI con datos

Hola a todos

Les cuento, estoy creando la Web de mi juego en PHP, y quiero que tenga la posibilidad de crear Cuentas desde la misma.

Tengo en una direccion de mi pc C:\Documents and Settings\Usuario\Juego\Server\accounts las cuentas de mis usuarios, en formato .INI, y si yo manualmente creo un INI con datos, me crea la cuenta. Ahora el tema seria desde la Web.

Vi por varios lados, aunke sin funcionarme, ejemplos de esto. Necesitaria un formulario en donde me cree el archivo X.ini siendo X el nombre de la cuenta. Y dentro del archivo, deberia tener una estructura asi:

Código:
[GENERAL]
Login=Test
Password=Test
Profile=
[CHAR1]
Name=Test
Class= 0
Sex= 0
Sprite= 0
Level= 1
Exp= 890
Access= 5
PK= 0
Guild=
Guildaccess= 4
En donde el campo Login y Password, que son los que el jugador accede al juego, los ponga junto a su nombre de cuenta.

En fin y al cabo, necesitaria que cree el archivo X.Ini, y se cree con esos campos dentro, y sea en la ruta que antes mencione, pero:

Cita:
X: Seria un campo a llenar en la Web, como nombre de cuenta
Login y Password: Dos campos a llenar de la web tambien, como login
Ruta: La ruta que yo modificaria, q apunte a esa carpeta.

Un saludo y Gracias de antemano
__________________
CabaSoft Networks
  #2 (permalink)  
Antiguo 16/06/2008, 05:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear archivo .INI con datos

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!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 16/06/2008 a las 06:02 Razón: ampliado
  #3 (permalink)  
Antiguo 16/06/2008, 10:54
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Respuesta: Crear archivo .INI con datos

Buenas

Muchas Gracias por la respuesta y el ejemplo! La verdad no se mucho de PHP, pero me sirve para ir aprendiendo un poco.

Lo que no se es lo basico jeje por ejemplo, el formulario de que manera deberia estar compuesto, para que tenga esos 3 campos (Cuenta, Login, Password) y al enviar, se cree el .INI en X Ruta?

Gracias denuevo, perdoname por estas preguntas basicas, pero no se mucho, y mucho codigo de golpe me asustaa

Gracias Saludos
__________________
CabaSoft Networks
  #4 (permalink)  
Antiguo 17/06/2011, 16:09
Avatar de djmashe  
Fecha de Ingreso: julio-2007
Ubicación: Posadas, Misiones
Mensajes: 52
Antigüedad: 16 años, 9 meses
Puntos: 2
Pregunta Respuesta: Crear archivo .INI con datos

Cita:
Iniciado por pateketrueke Ver Mensaje
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_
  #5 (permalink)  
Antiguo 17/06/2011, 16:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear archivo .INI con datos

Sería cuestión de modificar un poco el script, si la clave a escribir de una opción comienza por el punto-y-coma entonces no la escribimos como una opción del INI sino como un comentario.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 17/06/2011, 16:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Crear archivo .INI con datos

Por si acaso, también hay una función llamada parse_ini_file. Podría ayudar también.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 14:19.