Foros del Web » Programando para Internet » PHP »

Ayuda con LOAD DATA INFILE

Estas en el tema de Ayuda con LOAD DATA INFILE en el foro de PHP en Foros del Web. Hola a todos, necesito ayuda para solventar un problema que me ha ocurrido: He terminado un proyecto en PHP y MySql que lee de unos ...
  #1 (permalink)  
Antiguo 17/06/2008, 10:28
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Ayuda con LOAD DATA INFILE

Hola a todos, necesito ayuda para solventar un problema que me ha ocurrido:

He terminado un proyecto en PHP y MySql que lee de unos ficheros de TXT los datos y los actualiza a unas tblas en mysql, en local me funciona perfecto, el problema es que el alojamiento de mi proveedor tiene por un lado el sitio web y por otro la instalacion de mysql (diferente Ip), Problema: subo los ficheros al sitio web, pero el script de actulización no funciona, pues la ruta no es correcta, como podría solucionarlo, son diferentes IP.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 17/06/2008, 11:52
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Ayuda con LOAD DATA INFILE

Hola,

como subes y como actualizas?

das poca informacion

Un saludo
  #3 (permalink)  
Antiguo 17/06/2008, 12:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con LOAD DATA INFILE

Hola emadrid,

No puedes hacerlo de la forma que lo planetas, ya que el comando es LOAD LOCAL DATA INFILE, es decir el archivo debe de ser local, para poder hacer una inserción exitosa vas a tener tu que crear un parser para abrir el archivo txt e ir haciendo las inserciones una por una.

Saludos.
  #4 (permalink)  
Antiguo 19/06/2008, 04:15
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ayuda con LOAD DATA INFILE

Hola mucha gracias por adelantado,

Para GatorV:
Me podrias aclarar un poco como podria ser el parser, algun ejemplillo?????
Gracias.

Para jaronu

Un script en php que utiliza el "Local data infile" de las cinco tablas que se suben en txt, las tablas las "exporta" (sube mediante FTP) un programa instalado en el pc al raiz del dominio, se ejecuta el "actualizador" y ya esta.

Ideas????

Gracias.
  #5 (permalink)  
Antiguo 19/06/2008, 10:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con LOAD DATA INFILE

Hola emadrid,

No tengo ejemplos a la mano, pero basicamente lo que haces es abrir el archivo usando fopen, luego usas fread y construyes la cadena INSERT.

Generalmente los datos que insertas vienen en formato CSV (Comma separated values) por lo que puedes usar fgetcsv para leer los datos y pasarlos a un arreglo y luego crear el INSERT.

Saludos.
  #6 (permalink)  
Antiguo 19/06/2008, 10:04
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ayuda con LOAD DATA INFILE

Gracias por encaminarme, eso es lo que estoy mirando como opcion, pues he hablado con el server y he probado con un hosting donde la maquina sea la misma y la cuestion va a ser de "permisos"....

La ultima duda, aunque el fichero csv es "separado por comas", este caso es txt, pero estan separdos por ; y algunos entre comillas la funcion "fgetcsv" sera la misma verdad? no se si hay otra para extensiones "solo txt" pues aunque es mismo tipo de archivo....

Muchisimas gracias por tu ayuda.
  #7 (permalink)  
Antiguo 19/06/2008, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con LOAD DATA INFILE

Hola emadrid,

Si ves en el manual de PHP, veras que la función fgetcsv trabaja sobre un puntero a un archivo abierto, no importa si el archivo abierto es txt, csv, xml, xls, etc. con tal de que respete la estructura de un CSV.

Te invito a que veas en el manual la documentación de la función.

Saludos.
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 20:44.