Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2019, 02:42
Neg1414
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 1 mes
Puntos: 0
PHP, Problema al guardar datos matriz en un archivo texto

Buenas..

Utilizo el siguiente código para intentar hacer una archivo de registros, el script toma como parámetros los datos de un registro y al final si no existe los añade, finalmente crea un nuevo archivo de texto con todos los registros que en teoría debería de contener la matriz $Usuarios:

Código:
 $NewUsuario   = $_GET['Usr']; //Paso parametro en llamada 
  $Dir          = $_GET['Dr'];  //Paso parametro en llamada 
  $Suld         = $_GET['Sl'];  //Paso parametro en llamada 

  $Usuarios = array
        (
         array
         (
                 "Usuario"  =>" ";
                 "Direccion" =>" ";
                 "Sueldo"  =>" ";
         )
        );

//Leer Archivo texto que contiene registros (cada tres lineas un registro ), 
//Linea a Linea y Asigno Datos
   $archivo = fopen($NomArchivo,'r');
   $numlinea = 1;
   $Esta = false;
   while ($linea = fgets($archivo))
    {
    if($numlinea<4)
    {
        if($numlinea==1)
        {
         Usuarios[Cont]["Usuario"]=$linea;
         //Si el nuevo usuario ya se encuentra en el registo (Archivo texto)
         if(strstr(strtoupper($linea),strtoupper($NewUsuario)))
                {
                 $Esta = true;
                }
        }

        if($numlinea==2){Usuarios[Cont]["Direccion"]=$linea;}
        if($numlinea==3){Usuarios[Cont]["Sueldo"]=$linea;}
    }
    else
    {
        $numlinea = 0;
        $Cont ++;
    }
    $numlinea ++;
    }

  fclose($archivo);

  //Si el Usuario es nuevo Lo añado
  if(!$Esta)
  {
    $Usuarios[Cont]["Usuario"] = $NewUsuario;
    $Usuarios[Cont]["Direccion"]= $Dir;
    $Usuarios[Cont]["Sueldo"] = $Suld;
  }

  $n=count($Usuarios);

  //Guardo Archivo
  $fp = fopen($NomArchivo,'w');
  for ($i = 0; $i < $n ; $i++)
  {
    fwrite($fp, $Usuarios[$i]["Usuario"].  PHP_EOL);
    fwrite($fp, $Usuarios[$i]["Direccion"]. PHP_EOL);
    fwrite($fp, $Usuarios[$i]["Sueldo"].  PHP_EOL);
  }
  fclose($fp);
Al final tendría que crear un archivo de texto con los registros que tomaría de la matriz $Usuarios pero no me crea el Archivo.¿Que hago mal? Gracias.