Foros del Web » Programando para Internet » PHP »

Procesar un TXT desde PHP

Estas en el tema de Procesar un TXT desde PHP en el foro de PHP en Foros del Web. Hola amigos, mi consulta es la siguiente: Necesito que un Script PHP procese un archivo en formato txt cuyo separador de campos es "|". Este ...
  #1 (permalink)  
Antiguo 24/06/2005, 10:37
Avatar de pablod  
Fecha de Ingreso: abril-2004
Ubicación: Santiago
Mensajes: 118
Antigüedad: 13 años, 7 meses
Puntos: 0
Procesar un TXT desde PHP

Hola amigos, mi consulta es la siguiente:

Necesito que un Script PHP procese un archivo en formato txt cuyo separador de campos es "|".

Este archivo debe ser procesado linea a linea y los datos deben ser almacenados en una tabla posteriormente.

Alguien tiene algun ejemplillo o información sobre esto???

Un saludo P4BLO.-
__________________
Pablod:-)
  #2 (permalink)  
Antiguo 24/06/2005, 10:48
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 9 meses
Puntos: 771
Hola pablod

Un par de ideas: Lees el archivo a un array con file()

http://es2.php.net/manual/es/function.file.php

recorres el array y para separar los campos utilizas split()

http://es2.php.net/manual/es/function.split.php

Saludos,
  #3 (permalink)  
Antiguo 24/06/2005, 10:56
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 14 años, 4 meses
Puntos: 105
Hola, puedes probar con este codigo:

Este se llama el archivo subir_txt.php

Código PHP:
<?php
if(isset($HTTP_POST_FILES['FileTXT']) && isset($_POST['Submit']) )
{    
$archivo $HTTP_POST_FILES['FileTXT'];
    
$extension explode(".",$HTTP_POST_FILES['FileTXT']['name']);
    
$num count($extension)-1;
    if(
$extension[$num] == "txt")
    {    if(
$HTTP_POST_FILES['FileTXT']['size'] < 30000// 30Kb
        
{    if(! move_uploaded_file($HTTP_POST_FILES['FileTXT']['tmp_name'],"tmp/".$HTTP_POST_FILES['FileTXT']['name']) )    
            {    echo 
"error al mover el archivo al servidor";        }
            else
            {    
ini_set("max_execution_time",0);
                @
$fp fopen("tmp/".$HTTP_POST_FILES['FileTXT']['name'], 'r');
                if (!
$fp)
                {     echo 
"error de apertura de archivo";
                    exit;
                }
                
$tempverfgetcsv($fp,900,'|');    
                if(
count($tempver)==7// de 7 campos en el tabla
                
{    fclose($fp);
                    @
$fp fopen("archivos/".$HTTP_POST_FILES['FileTXT']['name'], 'r');
                    include(
"a_base_de_datos.php");
                    while (!
feof($fp))
                    {    
$orderfgetcsv($fp,900,',');        
                        
//y volvemos a insertar la nueva data.
                        //lo ingresamo con calma
                        /// Aca verificamos si por ejemplo en este caso el campo campo1 tiene que tener un dato y no puede esta vacio, sino lo paramos.    
                        
if(!empty($order[0]))
                        {    
$con "insert into tabla_del_txt (campo1,campo2,campo3,campo4,campo5,campo6,campo7) values(";
                            
$con .= "'".$order[0]."', ";
                            
$con .= "'".$order[1]."', ";
                            
$con .= "'".$order[2]."', ";
                            
$con .= "'".$order[3]."', ";
                            
$con .= "'".$order[4]."', ";
                            
$con .= "'".$order[5]."', ";
                            
$con .= "'".$order[6]."') ";
                            
mysql_query($con); 
                            echo 
"Subido!!!!!";
                        }
                    }
               }
               else
                       echo 
"Faltan Campos en el archivo. Los campos son incompletos.";
               
fclose($fp);
               
ini_restore ("max_execution_time");   
               
unlink("tmp/".$HTTP_POST_FILES['FileTXT']['name']);    
               echo 
"Archivo procesado";
            }
        }
        else
            echo 
"el archivo supera los 30kb";        
    }
    else
        echo 
"el formato de archivo no es valido, solo .txt";    
}


?>
<br>
<br>
<br>
<br>
<br>
<center>
<form  action="subir_txt.php" method="post" name="form" enctype="multipart/form-data">
<input type="file" name="FileTXT">
  <input type="submit" name="Submit" value="     Subir Archivo TXT     ">
</form>
</center>
Esto es para surbir datos de una tabla de 7 campos, desde un archivo con datos separados con el simbolo "|",
.
Espero que te sirva, sino pasas la voz por aqui, .

Saludos
Gildus
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 25/06/2005, 03:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
http://www.forosdelweb.com/f18/sistema-opinion-problema-280667/

Espero te sirva (debería)...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 22:25.