Foros del Web » Programando para Internet » PHP »

Subir TXT separado por ; a MYSQl

Estas en el tema de Subir TXT separado por ; a MYSQl en el foro de PHP en Foros del Web. Hola gente!!!, tengo que subir archivos txt (CSV) para actualizar bases de datos MYSQL, alguien me puede ayudar con este problemon que me he encontrado, ...
  #1 (permalink)  
Antiguo 09/08/2007, 07:49
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Subir TXT separado por ; a MYSQl

Hola gente!!!, tengo que subir archivos txt (CSV) para actualizar bases de datos MYSQL, alguien me puede ayudar con este problemon que me he encontrado, hace unos dias que estoy estancado aca.-

SALDUOS!!
  #2 (permalink)  
Antiguo 09/08/2007, 08:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Puedes usar fgetcsv para leer tu archivo y posteriormente subirlo a la base de datos.

Saludos.
  #3 (permalink)  
Antiguo 09/08/2007, 12:20
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

NO tienes ningun ejemplo, el archivo lo tengo en mi maquina local y necesito subirlo al servidor de hosting, a una tabla que existe, vendria a ser actualizar la tabla.-

SALUDOS AMIGO.-
  #4 (permalink)  
Antiguo 09/08/2007, 12:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

En el manual de PHP puedes encontrar ejemplos.

Saludos.
  #5 (permalink)  
Antiguo 09/08/2007, 12:54
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

muchas gracias amigo.-

saludos.-
  #6 (permalink)  
Antiguo 10/08/2007, 07:15
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

No lo puedo hacer funcionar!!!!!!!!!!!!!!!

Ayuda!!!! Help!!!!
  #7 (permalink)  
Antiguo 10/08/2007, 08:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Que codigo estas utilzando? Te recuerdo que para que te ayudemos debes de ser mas explicito en tus errores.

Saludos.
  #8 (permalink)  
Antiguo 10/08/2007, 15:44
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

Aqui esta el codigo q utilizo para importar los archivos, lo que necesito es permitirle al usuario seleccionar de su propia pc el archivo a subir.
Cita:
<?php
require('Connections/labstarosa.php');
$row = 1;
$fp = fopen ("socios.csv","r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
print " <br>";
$row++;
echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4];
$insertar="INSERT INTO labstarosa.socios (numero,nombre,direccion,localidad,profesion) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($insertar);
}
fclose ($fp);
echo 'IMPORTACIÓN FINALIZADA';
?>
SALUDOS!!!
  #9 (permalink)  
Antiguo 10/08/2007, 16:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Cuando pones:
Código PHP:
echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4]; 
Ves los datos correctos?

Saludos.
  #10 (permalink)  
Antiguo 10/08/2007, 16:12
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

si, se ven los datos correctamente. lo q quiero es poder crear alguna forma de q el usuario de la pagina seleccione el archivo de su pc para importar.

GRACIAS por la pronta respuesta.-

Saludos.
  #11 (permalink)  
Antiguo 10/08/2007, 16:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Entonces primeramente necesitas hacer un formulario para seleccionar el archivo, copiarlo a un directorio (o si puedes leer de tmp cambiar esta linea:)

Código PHP:
$fp fopen ($_FILES['miarchivo']['tmp'],"r"); 
Si no primero copialo a un directorio y luego lo abres.

Saludos.
  #12 (permalink)  
Antiguo 10/08/2007, 16:25
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

el formulario lo tengo armado.....un campo de texto y el boton examinar, pero como hago para copiarlo, es en esa parte en la que me pierdo (bahhh estoy completamente perdido a esta hora).-

MUCHAS GRACIAS por tu ayuda
  #13 (permalink)  
Antiguo 10/08/2007, 16:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Puedes usar move_uploaded_file, para copiarlo.

Saludos.
  #14 (permalink)  
Antiguo 10/08/2007, 16:33
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

esto me permitiria mover el archivo desde la pc del usuario/administrador de la web al sitio en el servidor de hosting, o yo entendi todo mal??
  #15 (permalink)  
Antiguo 10/08/2007, 16:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Primero tienes que enviarlo via el formulario y ya en tu PHP lo procesas con el array de $_FILES.

Saludos.
  #16 (permalink)  
Antiguo 10/08/2007, 17:03
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

al enviarlo te referis a subirlo al servidor de hosting???, pero como hago eso, normalmente lo hago via ftp, existe alguna forma de hacerlo mediante php?

GRACIAS AMIGO.
  #17 (permalink)  
Antiguo 10/08/2007, 17:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Lo puedes hacer con un formulario, te recomiendo que veas el manual la parte de envio de archivos.

Saludos.
  #18 (permalink)  
Antiguo 10/08/2007, 17:25
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

tengo el formulario armado, donde especifico el lugar al cual quiero enviar el archivo (perdon por ser tan pregunton, es la primera vez q me pongo a armar una pagina de este tipo)
Cita:
<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Subir este Archivo: <input name="userfile" type="file">
<input type="submit" value="Subir">
</form>
MUCHAS GRACIAS
  #19 (permalink)  
Antiguo 10/08/2007, 23:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Si revisas la pagina que te envie viene el codigo de ejemplo para que lo hagas funcionar.

Saludos.
  #20 (permalink)  
Antiguo 11/08/2007, 06:47
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

AMIGO!!!! no lo puedo hacer funcionar de ninguna manera, necesito ayuda, me hundo en este mar de codigo de php.
  #21 (permalink)  
Antiguo 11/08/2007, 08:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Que codigo estas utilizando?

Saludos.
  #22 (permalink)  
Antiguo 11/08/2007, 08:21
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

esto es lo q tengo en el formulario:

Cita:
<form enctype="multipart/form-data" action="ftp://ftp.capreme.org/subidos" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
Subir este Archivo: <input name="userfile" type="file">
<input type="submit" value="Subir">
</form>
  #23 (permalink)  
Antiguo 11/08/2007, 08:22
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

esto tengo en la ejecucion del importar archivos

Cita:
<?php
require('Connections/labstarosa.php');
$row = 1;
$fp = fopen ($_FILES["userfile"]["tmp_name"],"r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
print " <br>";
$row++;
echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4];
$insertar="INSERT INTO labstarosa.socios (numero,nombre,direccion,localidad,profesion) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($insertar);
}
fclose ($fp);
echo 'IMPORTACIÓN FINALIZADA';
?>
  #24 (permalink)  
Antiguo 11/08/2007, 12:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

La parte de tu action en tu formulario esta mal, debe de apuntar a un script php, en particular al script que tiene el codigo para hacer la importacion.

Saludos.
  #25 (permalink)  
Antiguo 11/08/2007, 21:47
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

ok o sea q en el script del formulario deberia apuntar a donde esta este script o yo entendi mal de nuevo????
Cita:
<?php
require('Connections/labstarosa.php');
$row = 1;
$fp = fopen ($_FILES["userfile"]["tmp_name"],"r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
print " <br>";
$row++;
echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4];
$insertar="INSERT INTO labstarosa.socios (numero,nombre,direccion,localidad,profesion) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($insertar);
}
fclose ($fp);
echo 'IMPORTACIÓN FINALIZADA';
?>
  #26 (permalink)  
Antiguo 11/08/2007, 21:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Subir TXT separado por ; a MYSQl

Asi es.

Saludos.
  #27 (permalink)  
Antiguo 11/08/2007, 22:17
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

gracias por tu ayuda mi amigo!!!!, lo pruebo y te avizo a ver que fue lo q paso.-

nuevamente muchas gracias amigo
  #28 (permalink)  
Antiguo 13/08/2007, 05:17
Avatar de merkano  
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Subir TXT separado por ; a MYSQl

AMIGO muchas gracias por tu ayuda anduvo perfectamente, muchisimas gracias por todo.
  #29 (permalink)  
Antiguo 25/09/2007, 14:48
Avatar de The_Pretorian  
Fecha de Ingreso: diciembre-2004
Ubicación: Lima - Peru
Mensajes: 267
Antigüedad: 19 años, 3 meses
Puntos: 0
Exclamación Re: Subir TXT a MYSQl

Buenas tardes:
usando los ejemplos que se han publicaod en este hilo, prepare el sigueinte ejemplo. Funciona de lo mas bien, pero a la hora de realizar el segundo paso(Grabar valores del TXT); como puedo validar para que solo se seleccione archivos TXT, asi como grabar en una Cookie la ruta de donde se selecciono el ultimo archivo.
Muchas Gracias de antemano.

Seleccionar archivo TXT
Cita:
<form enctype="multipart/form-data" action="valida.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
Subir este Archivo: <input name="userfile" type="file">
<input type="submit" value="Subir">
</form>
Grabar valores del TXT
Cita:
<?php
require('inc/conecction.php');
$type_archivo = $HTTP_POST_FILES['userfile']['type'];
if (!strpos($type_archivo, "txt")) {
// En caso no sea TXT
header("location: err_carga.php");
}else{
$row = 1;
$fp = fopen ($_FILES["userfile"]["tmp_name"],"r");
while ($data = fgetcsv ($fp, 1000, ";")){
$num = count ($data);
print " <br>";
echo "$row- ".$data[0].$data[1];
$ins="INSERT INTO registros (numero,nombre) VALUES ('$data[0]','$data[1]')";
mysql_query($ins);
$row++;
}
fclose ($fp);
}
echo 'IMPORTACIÓN FINALIZADA';
?>
Atte
The Pretorian
__________________
Creo que todas las cosas suceden por algo, no es eso que los demas llaman 'Destino'. Definitivamente Dios no juega a los dados...
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 23:45.