Comunidad de diseño web y desarrollo en internet online

problema leer archivo TXT, filtrar en variables

Citar            
MensajeEscrito el 29 Nov 2012 08:57 pm
Buenos dias soy nuevo en el foro y espero me puedan ayudar con el siguiente inconveniente
tengo una informacion en un archivo txt pueden ser "n" lineas

Código :

PT8803                   2017  600            BASE DE 3"                    BASE DE 3"                                                                                                                                                                                              600            PZ00005001083.19700000000600.000  90269001                      000100166.71000081964.630000.0000000021.8479000000.0000000000.0000000000.000000000000000.00000013108.74000000000.00000000000.00000000000.00MXTARIMA    
PT9242CS                 2079  600            CUERPO PARA VALVULA           CUERPO PARA VALVULA                                                                                                                                                                                     600            PZ00001000466.75400000000600.000  84819099                      000043162.25000025981.700000.0000000008.7659300000.0000000000.0000000000.000000000000000.00000005259.56000000000.00000000000.00000000000.00MXTARIMA    
PT9378                   2203  3060           SUJETADOR DE INYECTORES       SUJETADOR DE INYECTORES                                                                                                                                                                                 3060           PZ00001000409.46500000003060.000  84099999                      000027563.09000050599.190000.0000000001.7155100000.0000000000.0000000000.000000000000000.00000005249.46000000000.00000000000.00000000000.00MXTARIMA    



y necesitaria almacenar cierta informacion en variables ejemplo:

numero de parte: PT9242CS
Descripcion: CUERPO PARA VALVULA
cantidad: 5
precio: 600

podrian orientarme ocmo conseguir esto?

muchas gracias por su atencion

Por andy_78

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Nov 2012 03:35 am
Hay alguna posibilidad de que ese archivo.txt se exporte a un formato más amigable? (si es realmente un txt, por lo que veo, me parece el formato que usaba Access como BD) Pueden ser CSV, excel, etc.?

Tendrías que utilizar expresiones regulares para realizar el trabajo, pero antes de ello habra que analizar cual es el patrón para la definición de los datos en ese archivo, que a simple vista es dificil de comprender.

Por -george-

58 de clabLevel



 

Tartarus

firefox
Citar            
MensajeEscrito el 01 Dic 2012 01:35 am
Es muy sencillo.

Guarda el archivo delimitado por tabulaciones
y creamos un formulario:

Código HTML :

<form action="subir.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
  subir archivo<br /> 
  <input name="csv" type="file" id="csv" /> 
  <input type="submit" name="subir" value="subir" /> 
</form> 


el archivos subir seria este:

Código PHP :

//conexion antigua a base de datos
$connect = mysql_connect("localhost","root","password"); 
mysql_select_db("basededatos",$connect); 


if ($_FILES[csv][size] > 0) { 

    //get the csv file 
    $file = $_FILES[csv][tmp_name]; 
    $handle = fopen($file,"r"); 
     
    //leemos archivo y cada tabulacion se entiende como variable
//supoiniendo que fuera un archivo con 3 columnas(tabulaciones)
//asiganamos como si fuese array empezando por 0
    do { 
        if ($data[0]) { 
            mysql_query("INSERT INTO alguna_db (valor1,valor2,valor3) VALUES 
                ( 
                    '".addslashes($data[0])."', //valor 1
                    '".addslashes($data[1])."', //valor 2
                    '".addslashes($data[2])."' //valor 3                    
/*en caso de que el archivo tubiera mas calumnas añadiriamos mas lineas de las de arriba siguiendo un orden numerico siempre iniciando en 0*/
                ) 
            "); 
        } 
    } while ($data = fgetcsv($handle,1000,"\t","'")); 
 
    //redireccionamos
    header('Location: index.html'); die; 

Por dsalcedo

50 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 01 Dic 2012 12:30 pm
Usando expresiones regulares puedes hacerlo directamente desde el txt.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.