Foros del Web » Programando para Internet » PHP »

Leer lineas de un txt e ir grabando los datos un una DB

Estas en el tema de Leer lineas de un txt e ir grabando los datos un una DB en el foro de PHP en Foros del Web. Buenas!!! UF! hace rato que no pedia ayuda!! Bien. el tema es el siguiente. Estoy trabajando con archivos planos. Estos se generan solos con un ...
  #1 (permalink)  
Antiguo 30/08/2006, 13:29
Usuario no validado
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 19 años, 9 meses
Puntos: 1
Información Leer lineas de un txt e ir grabando los datos un una DB

Buenas!!!
UF! hace rato que no pedia ayuda!!

Bien. el tema es el siguiente.
Estoy trabajando con archivos planos.
Estos se generan solos con un programa y tienen la característica que cada dato esta separado por una cantidad de caracteres dados (ej: los primeros 8 caracteres el nombre, los 8 que siguen apellido, los 4 que siguen anio, etc.)

Ahora, cada archivo contiene varias lineas separadas por un salto de linea, y cada una de estas lineas es un nuevo grupo de registro que se debe agregar a la base.

El problema que estoy teniendo es lo siguiente.
1)Si leo los archivos de los siguiente manera, sucede que graba todo perfecto, pero no parece reconocer los espacios vacios:
Código PHP:
$cabezals file("usuarios.txt");
foreach (
$cabezals as $cabezal_num => $cabezal) {
$id $cabezal;

$nombresubstr($id,08);
$apellidosubstr($id,08);
$aniosubstr($id,04); 
2)y la otra forma, reconoce los espacios vacios, pero unicamente graba la primer fila:
Código PHP:
$cabezal "usuarios.txt";
    if (
$id fopen($cabezal"r"))
    {
            echo 
"";
    }
    else
        echo 
"Error";
$nombrefread($id8);
$apellidofread($id8);
$aniofread($id4);

fclose($id); 
Luego grabo los datos en la base.

La pregunta: hay alguna manera de que haga el ciclio de la version (1), pero que si me reconozca los caracteres en blanco/vacios/espacios como la version (2)?

Agradezco mucho desde ya. Me estuve matando en pensar una combinacion, pero no se me ocurrio nada concreto que funcionara!

Gracias!

Atte!!

Ariel Ale!!
  #2 (permalink)  
Antiguo 31/08/2006, 06:25
Usuario no validado
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 19 años, 9 meses
Puntos: 1
Muy buenos dias gente!

Nadie tiene alguna idea al respecto?

Agradeceria alguna respuesta.

Atte.

Ariel Ale.-
  #3 (permalink)  
Antiguo 31/08/2006, 08:46
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Pues no me queda muy claro lo que quieres hacer pero aquí tienes un código que lee los campos sin importar si tiene espacios en blanco o no:

<?php
$fp = fopen("usuarios.txt", 'r'); // abrimos el archivo para su lectura
while ( !feof( $fp ) ) // la condicion dice: no parar hasta que acabe el archivo
{
// leerá hasta que encuentre un nuevo carácter de línea (\n),
// un EOF o haya leído todo el archivo
$fila = fgets( $fp, filesize("usuarios.txt") );
// separamos cada dato nombre, apellido, anio o los que tengas
$datos = explode(",", $fila);

for ($i = 0; $i < count($datos); $i++)
{
echo $datos[$i]."<br/>"; // mostramos cada datos por línea
}

echo "<p>";
}
fclose($fp);
?>

Modificalo de acuerdo a tus necesidades y hojale te haya dado una idea para hacerlo. Suerte
  #4 (permalink)  
Antiguo 31/08/2006, 13:02
Usuario no validado
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 19 años, 9 meses
Puntos: 1
te agradezco muchisimo!!

Si, al go me ha servido, por lo menos en lo que respeca a codigo, hay algunas funciones q no conocia y me dieron idea.
grax!!
bye!
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 17:30.