Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2019, 11:33
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: PHP, Problema al guardar datos matriz en un archivo texto

Cita:
Iniciado por Neg1414 Ver Mensaje
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.
si es un servidor , recuerda que estos tienen PERMISOS para escritura y lectura, puede que tu PHP no tenga permisos de Escritura para la Ruta que usas, prueba algo sencillo
crea un simple archivo
Código PHP:
Ver original
  1. <?php file_put_contents("archivo.txt","datos");

y fijate si se creo ese archivo, pon la RUTA de la carpeta donde ira tu anterior script
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9