Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2011, 07:58
jhongo201
 
Fecha de Ingreso: julio-2011
Ubicación: cucuta
Mensajes: 26
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta guardar datos de texto plano con delimitador en mysql con php

hola buenos dias quisiera saber como leer la informacion de un texto plano y que cada vez que me encuentre un | me guarde la informacion anterior, me explico:

tengo un texto pplano archivo.txt y la información es la siguiente:


64340|30286777|LUZ MARINA CORDON RODRIGUEZ|(415)7709998000674(8020)06315180(3900)00 00104920(96)20100813|GM = 755.33+TM = 0+DM = 473.40+CM = 107.35 CM = 2118.05 $/FACTURA.|79958|901289892|JUAN VIANEY SUAREZ HERNANDEZ|(415)7709998000674(8020)06316555(3900)00 00132860(96)20100813|GM = 755.33+TM = 0+DM = 473.40+CM = 107.35 CM = 2118.05 $/FACTURA.|72725|30286836|LUZ MARINA PINZON MANRIQUE|(415)7709998000674(8020)06316010(3900)000 0071430(96)20100813|GM = 755.33+TM = 0+DM = 473.40+CM = 107.35 CM = 2118.05 $/FACTURA.|64332|30336183|FLOR ELVA FERRER FERRER|(415)7709998000674(8020)06315177(3900)00000 00000(96)20100813|GM = 755.33+TM = 0+DM = 473.40+CM = 107.35 CM = 2118.05 $/FACTURA.



esto es una pequeña muestra del texto q nececito guardar en mysql, yo necesito que cada vez que encuentre un | me guarde la informacion, de acuerdo a la informacion anterior el me tendria que guardar:

64340
30286777
LUZ MARINA CORDON RODRIGUEZ
(415)7709998000674(8020)06315180(3900)0000104920(9 6)20100813|GM = 755.33+TM = 0+DM = 473.40+CM = 107.35 CM = 2118.05 $/FACTURA.
79958
901289892
JUAN VIANEY SUAREZ HERNANDEZ

y asi sucesivamente

estoy capturando el archivo con un boton examinar y el delimitador en un cuadro de texto

de la siguiente manera:

Código HTML:
Ver original
  1. <form id='f1' action='si.php'>
  2.         <center>
  3.             <table width=" " height=" " border="1"  BGCOLOR="red" CELLSPACING="0" bordercolor="blue">
  4.                 <tr>
  5.                     <td COLSPAN="3" ALIGN="center">GUARDAR ARCHIVO EN BASE DE DATOS</td>
  6.                 </tr>
  7.  
  8.                 <tr>
  9.                     <td>
  10.                 archivo
  11.                     <input type='file' name='f' value='ingresa tu archivo'/><br/>
  12.                     </td>
  13.                     <td>
  14.                 delimitador
  15.                     <input type='text' name='d' value='|'/>
  16.                     <input type='submit' value='cargar'/>
  17.                     </td>
  18.                 </tr>
  19.             </table>
  20.         </center>      
  21.     </form>


y lo estoy capturando en un codigo.php
de la siguente manera:

Código PHP:
Ver original
  1. //aqui capturo el texto plano
  2. $fname = $_GET['f'];
  3. //aqui capturo el delimitador
  4. $delim = $_GET['d'];
  5. $row = 1;
  6. //se supone que aqui recorro el texto plano, pero nose si esta bien
  7. $fp = fopen ($fname,"r");
  8. //el me deberia entrar al ciclo pero no entra y nose porque, el error esta en la linea anterior o en este ciclo
  9. while ($data = fgetcsv ($fp, 1000,"|"))
  10. {
  11.    
  12. $num = count ($data);
  13. echo $fname;
  14. echo $delim;
  15. print "<p> $num campos en la linea $row: <br />";
  16. $row++;
  17. //echo $data[0];
  18. $actualizar=("LOAD DATA LOCAL INFILE '$fname' REPLACE INTO TABLE tabla
  19. FIELDS TERMINATED BY '$delim' LINES TERMINATED BY '\n'");
  20.  
  21. }
  22.  $consulta=mysql_query($actualizar);



agradezco su colaboracion....